我可以在相同的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) {
答案 0 :(得分:1)
我对此并不是100%肯定,但我认为你不应该使用addEventListener
将事件处理程序附加到文档的load事件。我在Chrome中进行了测试,但它不起作用,所以它一定不是标准的。如果您想在文档准备好时执行某些代码,那么您有很多选择,但最简单的跨浏览器解决方案是使用jQuery
。
但是,你也可以在大多数现代浏览器中这样做:
document.addEventListener('DOMContentLoaded', function () {
alert('load!');
});