-4

我可以为同一个 DOM 事件在同一个元素上调用 addEventListener 两次吗?我将此代码用于多个 JavaScript 文件,似乎它们会覆盖,这意味着其中一个中的代码会触发,而另一个中的代码不会触发。

(function () {
  "use strict";
  document.addEventListener('load', function (event) {

    // Code

  }, false);
}());

编辑@plalx 从 jQuery 源代码,看起来他们正在使用 window.addEventListener('load', ...);

if (document.addEventListener) {
    // Use the handy event callback
    document.addEventListener("DOMContentLoaded", DOMContentLoaded, false);

    // A fallback to window.onload, that will always work
    window.addEventListener("load", jQuery.ready, false);

    // If IE event model is used
} else if (document.attachEvent) {
4

1 回答 1

1

我对此不是 100% 确定,但我认为您不应该使用addEventListener. 我在 Chrome 中进行了测试,但它不起作用,所以它一定不是标准的。如果你想在文档准备好时执行一些代码,你有很多选择,但最简单的跨浏览器解决方案是使用jQuery.

但是,您也可以在大多数现代浏览器中这样做:

document.addEventListener('DOMContentLoaded', function () {
    alert('load!');
});
于 2013-03-30T04:42:14.757 回答