我继承了以下代码:
// if parent window is closed or changed, close popups
window.onbeforeunload = function () { /* some cleanup stuff */ };
window.onchange = function () { /* same exact cleanup stuff */ };
window.onchange
行引起了问题;
在 Chrome 上,它会无明显原因地触发(产生不良的清理结果)。它不会在 IE11 中触发。
我可以安全地摆脱这条线吗?
Mozilla guys不要提供太多信息:
An event handler for change events sent to the window.
...而且互联网上似乎也没有太多关于它的内容。
那么到底是什么触发了windows.onchange
?它适用于所有主要浏览器吗? (如果没有,那么这对我来说就足以保证我可以删除它。)
最佳答案
当表单控件发生更改时,将触发更改事件。在下面的演示中,输入一些内容,然后按 Tab 模糊控件并触发更改事件。
onchange = function (e) { console.log(e.target); }
<input>
事件冒泡,因此监听器不需要直接附加到输入。
<小时/>在您的示例中不可能说它是否“安全删除”,因为没有提供有关正在清理的内容的上下文,因此我们无法判断执行清理是否有必要/有用/有害每次更改事件之后。
关于javascript - window.onchange - 是什么触发了它,删除它是否安全?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40244569/