gpt4 book ai didi

javascript - 我什么时候应该观察窗口、文档和 document.body 上的 Javascript 事件?

转载 作者:行者123 更新时间:2023-12-03 06:46:44 25 4
gpt4 key购买 nike

我正在为我的网络应用程序使用prototype.js,并且所有内容都在 Chrome、Safari 和 Firefox 上运行。我现在正在研究 IE8 兼容性。

当我在 IE 中调试时,我注意到我之前在窗口上设置了观察者,例如 Javascript 事件,例如

Event.observe(window, eventType, function () {...});

(其中 eventType 可能是 "dom:loaded""keypress" 等),它在 Chrome/Safari/Firefox 中工作得很好。然而,在 IE 中,观察者永远不会触发。

至少在某些情况下,我可以通过将观察者放置在 window 以外的其他位置来使其在 IE 上工作。 ,例如document (在 "dom:loaded" 的情况下)或 document.body (在 "keypress" 的情况下)。然而,这都是反复试验的结果。

是否有一些更系统的方法来确定将这些观察者放置在哪里,以便结果跨浏览器兼容?

最佳答案

(这不是一个 super 全面的答案,但它似乎是根据经验得出的——所以希望这些经验法则对其他人有帮助。)

  • 一般来说,在文档上注册事件,而不是窗口。 Webkit 和 mozilla 浏览器似乎都对这两种浏览器都很满意,但 IE 不会响应窗口上注册的大多数事件,因此您需要使用 document 来与 IE 配合使用

  • 异常(exception):调整大小,以及与加载、卸载和打开/关闭相关的事件都应该在窗口上设置。

  • 第一个异常(exception)的异常(exception):必须在 IE 中的 document 上设置 dom:loaded

  • 另一个异常(exception):在启用“按输入查找”功能的 Mozilla 下检测击键时,请在窗口(而不是文档)上设置按键事件观察器。如果您执行后者,则“按输入查找”似乎会阻止该事件。

关于javascript - 我什么时候应该观察窗口、文档和 document.body 上的 Javascript 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2655597/

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