JavaScript:什么是addEventListener?

JavaScript:什么是addEventListener?,javascript,Javascript,这个函数是什么?没有找到任何好的示例。addEventListener方法是将事件处理程序附加到元素的方法,以便在触发事件时可以执行一些有用的操作。以下示例将在单击id为my_image\u id的元素时弹出一条警报消息: function doSomething() { alert('Image clicked'); } var myImage = document.getElementById('my_image_id'); myImage.addEventListener('cl

这个函数是什么?没有找到任何好的示例。

addEventListener方法是将事件处理程序附加到元素的方法,以便在触发事件时可以执行一些有用的操作。以下示例将在单击id为
my_image\u id
的元素时弹出一条警报消息:

function doSomething() {
   alert('Image clicked');
}

var myImage = document.getElementById('my_image_id');

myImage.addEventListener('click', doSomething, false);
不幸的是,这在Internet Explorer中不起作用,因为Microsoft使用不同的事件注册模型。在Internet Explorer 5+中,必须按如下方式附加事件处理程序:

myImage.attachEvent('onclick', doSomething);
因此,对于跨浏览器事件注册方法,可以使用反射并有条件地执行:

function addEventHandler(node, type, f) {
   if (node.addEventListener) {
      node.addEventListener(type, f, false);
   } 
   else if (node.attachEvent) {
      node.attachEvent("on" + type, f);
   } 
   else {
      node["on" + type] = f;
   }
}

var myImage = document.getElementById('my_image_id');

addEventHandler(myImage, 'click', doSomething);
进一步阅读:


您可能熟悉添加这样的事件处理程序:

window.onload = function() {
  alert('onload event!');
};
<body onload="alert('onload event!')">
甚至在HTML中,如下所示:

window.onload = function() {
  alert('onload event!');
};
<body onload="alert('onload event!')">
使用addEventListener或attachEvent方法注册事件通常比使用onload/onsomething属性更好,因为它不可能中断同一页面中的任何其他Javascript代码。

addEventListener()方法将事件处理程序附加到元素,而不覆盖现有的事件处理程序。如“单击”或“加载内容”。它是在倾听一些事件的发生。然后添加一些函数,它将在事件发生时执行这些函数

例如:

var btn = document.getElementById("btn");
btn.addEventListener("click", function() {
    document.getElementById("div").style.visibility = "hidden";
});

谷歌给我的第一个链接就是一个很好的例子
没有找到任何好的例子。
。。。你看了吗?丹尼尔,
node[“on”+type]=f开始使用。前两种情况是否足够???Daniel,但在Chrome或IE中都不适用于我。我需要一个框架来使用此功能吗???为此,我必须在该标记中添加
onload=“addEventHandler(这个,'click',doSomething);”
以在该元素上添加
click
事件。感谢您解释我们为什么使用它,而不仅仅是它是什么。