JavaScript:什么是addEventListener?
这个函数是什么?没有找到任何好的示例。addEventListener方法是将事件处理程序附加到元素的方法,以便在触发事件时可以执行一些有用的操作。以下示例将在单击id为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
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
事件。感谢您解释我们为什么使用它,而不仅仅是它是什么。