- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 React 中尝试过 onFullScreenChange 但它不起作用,所以我必须使用 addEventListener 来处理我的情况,我想知道 React 是否支持 fullscreenchange 事件?谢谢你的帮助
最佳答案
没有onFullScreenChange
,您可以在 related docs 中查看所有支持的事件.
您可以查看 useFullscreenStatus
的示例在自定义钩子(Hook)中使用它的实现:
export default function useFullscreenStatus(elRef) {
const [isFullscreen, setIsFullscreen] = React.useState(
document[getBrowserFullscreenElementProp()] != null
);
const setFullscreen = () => {
if (elRef.current == null) return;
elRef.current
.requestFullscreen()
.then(() => {
setIsFullscreen(document[getBrowserFullscreenElementProp()] != null);
})
.catch(() => {
setIsFullscreen(false);
});
};
React.useLayoutEffect(() => {
document.onfullscreenchange = () =>
setIsFullscreen(document[getBrowserFullscreenElementProp()] != null);
return () => (document.onfullscreenchange = undefined);
});
return [isFullscreen, setFullscreen];
}
function getBrowserFullscreenElementProp() {
if (typeof document.fullscreenElement !== "undefined") {
return "fullscreenElement";
} else if (typeof document.mozFullScreenElement !== "undefined") {
return "mozFullScreenElement";
} else if (typeof document.msFullscreenElement !== "undefined") {
return "msFullscreenElement";
} else if (typeof document.webkitFullscreenElement !== "undefined") {
return "webkitFullscreenElement";
} else {
throw new Error("fullscreenElement is not supported by this browser");
}
}
关于javascript - React 支持 fullscreenchange 事件吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64485142/
我尝试绑定(bind) FullScreenChange 事件,但它不起作用。也许我做错了什么? $(document).bind('webkitfullscreenchange mozfullscr
我在 React 中尝试过 onFullScreenChange 但它不起作用,所以我必须使用 addEventListener 来处理我的情况,我想知道 React 是否支持 fullscreenc
我正在尝试监控浏览器何时进入全屏模式。 这个博客在我搜索的所有地方都被引用为全屏 API 的指南。 http://robertnyman.com/2012/03/08/using-the-fullsc
/* works on all elements except iframes */ document.addEventListener("webkitfullscreenchange", funct
我正在使用“fullscreenchange”事件来应用我想要的 css,方法是添加或删除一个 ID (#showFullscreen),该 ID 将控制已经应用到 .fullscreen 的 css
我是一名优秀的程序员,十分优秀!