FocusableIframe 是一个已弃用的 React 组件,用于渲染增强的 iframe 元素,以支持焦点事件检测。它通过模拟 FocusEvent 并允许事件冒泡,使父组件能够响应 iframe 内的焦点变化。
import { FocusableIframe } from '@wordpress/components';
const MyFocusableIframe = () => (
<FocusableIframe
src="/my-iframe-url"
onFocus={ () => console.log( 'iframe is focused' ) }
/>
);Deprecated
<FocusableIframe /> is a component rendering an iframe element enhanced to support focus events. By default, it is not possible to detect when an iframe is focused or clicked within. This enhanced component uses a technique which checks whether the target of a window blur event is the iframe, inferring that this has resulted in the focus of the iframe. It dispatches an emulated FocusEvent on the iframe element with event bubbling, so a parent component binding its own onFocus event will account for focus transitioning within the iframe.
Use as you would a standard iframe. You may pass onFocus directly as the callback to be invoked when the iframe receives focus, or on an ancestor component since the event will bubble.
import { FocusableIframe } from '@wordpress/components';
const MyFocusableIframe = () => (
<FocusableIframe
src="/my-iframe-url"
onFocus={ () => console.log( 'iframe is focused' ) }
/>
);
Any props aside from those listed below will be passed to the FocusableIframe will be passed through to the underlying iframe element.
onFocusFunctionCallback to invoke when iframe receives focus. Passes an emulated FocusEvent object as the first argument.
iframeRefReact.RefIf a reference to the underlying DOM element is needed, pass iframeRef as the result of a React.createRef called from your component.