gpt4 book ai didi

javascript - 避免 onresize 和 orientationchange 两起火灾

转载 作者:行者123 更新时间:2023-11-29 21:07:12 26 4
gpt4 key购买 nike

在我现有的应用程序中,我正在处理两个事件,一个用于更改移动设备的方向,一个用于桌面设备的 onresize。不幸的是,这两个事件都发生了火灾。

每当设备方向或浏览器调整大小发生任何变化时,我试图只触发一个函数。我想要类似下面给出的示例的东西。或者给我建议我在这里遗漏的任何东西。

(function() {
var getEvent = function() {
event = window.ondeviceorientation || window.onresize;
return event;
};
document.addEventListener(getEvent, function() {
console.log("Size changed");
}, false);

})();

JSBIN

最佳答案

GetEvent 是一个函数...

function() {
var getEvent = function() {
event = window.ondeviceorientation ? "deviceorientation" : "resize";
return event;
};
document.addEventListener(getEvent(), function() { //<---
console.log("Size changed");
}, false);

})();

而addEventListener需要一个字符串,所以需要创建一个字符串。缩短:

document.addEventListener(window.ondeviceorientation ? "deviceorientation" :  "resize", function() {
console.log("Size changed");
}, false);

这会使您的代码正常工作,但它要么在设备方向调整大小时触发。所以你可能想要这个:

function callable(){};
document.addEventListener("deviceorientation",callable);
document.addEventListener("resize",callable);

关于javascript - 避免 onresize 和 orientationchange 两起火灾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43474196/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com