在我现有的应用程序中,我正在处理两个事件,一个用于移动的方向更改和桌面的onresize。不幸的是,这两件事都起火了。
每当设备方向发生任何变化或浏览器调整大小时,我都会尝试仅触发一个功能。我想要类似下面给出的例子。或者建议我在这里缺少的任何东西。
(function() {
var getEvent = function() {
event = window.ondeviceorientation || window.onresize;
return event;
};
document.addEventListener(getEvent, function() {
console.log("Size changed");
}, false);
})();
答案 0 :(得分:2)
GetEvent是一个函数......
function() {
var getEvent = function() {
event = window.ondeviceorientation ? "deviceorientation" : "resize";
return event;
};
document.addEventListener(getEvent(), function() { //<---
console.log("Size changed");
}, false);
})();
addEventListener需要一个字符串,因此您需要创建一个字符串。 Shortified:
document.addEventListener(window.ondeviceorientation ? "deviceorientation" : "resize", function() {
console.log("Size changed");
}, false);
这会使您的代码正常工作,但 在调整大小时触发设备方向或。所以你可能想要这个:
function callable(){};
document.addEventListener("deviceorientation",callable);
document.addEventListener("resize",callable);