javascript - JavaScript 中的 document.unload 覆盖或链接最后一个定义?

标签 javascript html dom-events

我一直在想这个问题。

如果为主体卸载定义了一个函数,并且我使用 JavaScript 执行类似 document.unload= function() 的操作,那么函数的新定义是否与上一个定义链接,或者覆盖是吗?

这种行为对于浏览器是不同的,还是在所有浏览器中都是一样的? 如果不同,那为什么?

有人可以解释一下吗?

最佳答案

如果您只是为该属性分配一个函数,那么您将覆盖已有的任何内容。

window.foo = 1;
window.foo = 2;

Foo 现在是 2,如果您尝试阅读它,您不会期望它是 1 然后 2 的链。仅仅因为浏览器查看该属性并尝试在事件发生时在那里运行函数并不会改变这一点。

您可以按照以下方式做一些事情:

window.foo = aFunction;
oldFunc = window.foo;
window.foo = function () { oldFunc(); anotherFunc(); }

但我建议使用 addEventListener 和 friend 。由于我们必须支持 Internet Explorer 并且必须处理 multiple event models我建议使用任何优秀的 JS 库(例如 YUI 或 jQuery)提供的抽象层。

关于javascript - JavaScript 中的 document.unload 覆盖或链接最后一个定义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5308280/

相关文章:

Javascript - 滚动到页面底部时出错

javascript - 在 iMacros 中使用 EVAL 和 REGEX 提取字符

javascript - hr在移动端div后面

html - 使用 CSS Sprite 的 Onmouseout 和 OnmouseOver 图像

javascript - 如何让onclick函数只执行一次?

javascript - : "function" == typeof code?的解释

javascript - 将 jQuery 事件应用于所有类元素?

javascript - 如何使用 jquery mobile css 类自定义文本框

javascript - 为什么服务器发送的事件每 3 秒触发一次?

javascript - 将 div 部分链接到导航按钮