添加一个在用户单击按钮时触发的事件侦听器:
document.getElementById("myBtn").addEventListener("click", displayDate);
亲自试一试 »
这个addEventListener()
方法将事件处理程序附加到指定的元素。
这个addEventListener()
方法将事件处理程序附加到元素,而不覆盖现有的事件处理程序。
您可以向一个元素添加多个事件处理程序。
您可以向一个元素添加多个相同类型的事件处理程序,即两个"click" 事件。
您可以将事件侦听器添加到任何 DOM 对象,而不仅仅是 HTML 元素。即窗口对象。
这个addEventListener()
方法可以更轻松地控制事件对冒泡的反应。
当使用addEventListener()
方法中,JavaScript 与 HTML 标记分离,以提高可读性,并且即使您不控制 HTML 标记,也允许您添加事件侦听器。
您可以使用以下命令轻松删除事件侦听器removeEventListener()
方法。
element.addEventListener(
event, function, useCapture);
第一个参数是事件的类型(例如“click
" 或 "mousedown
“或任何其他HTML DOM 事件.)
第二个参数是事件发生时我们要调用的函数。
第三个参数是一个布尔值,指定是使用事件冒泡还是事件捕获。该参数是可选的。
请注意,您不要对事件使用 "on" 前缀;使用click
替代 onclick
”。
当用户点击某个元素时发出警报"Hello World!":
element.addEventListener("click", function(){ alert("Hello World!"); });
亲自试一试 »
您还可以引用外部"named"函数:
当用户点击某个元素时发出警报"Hello World!":
element.addEventListener("click", myFunction);
function myFunction() {
alert ("Hello World!");
}
亲自试一试 »
这个addEventListener()
方法允许您将多个事件添加到同一元素,而不覆盖现有事件:
element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);
亲自试一试 »
您可以将不同类型的事件添加到同一元素:
element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);
亲自试一试 »
这个addEventListener()
方法允许您在任何 HTML DOM 对象上添加事件侦听器,例如 HTML 元素、HTML 文档、窗口对象或其他支持事件的对象,例如xmlHttpRequest
目的。
添加一个在用户调整窗口大小时触发的事件侦听器:
window.addEventListener("resize", function(){
document.getElementById("demo").innerHTML =
sometext;
});
亲自试一试 »
传递参数值时,使用 "anonymous function" 来调用带有参数的指定函数:
HTML DOM 中有两种事件传播方式:冒泡和捕获。
事件传播是一种定义事件发生时元素顺序的方法。如果 <div> 元素内有一个 <p> 元素,并且用户单击 <p> 元素,则应首先处理哪个元素的 "click" 事件?
在冒泡首先处理最内部元素的事件,然后处理外部元素的事件:首先处理 <p> 元素的单击事件,然后处理 <div> 元素的单击事件。
在捕获首先处理最外面元素的事件,然后处理内部元素:首先处理 <div> 元素的单击事件,然后处理 <p> 元素的单击事件。
通过 addEventListener() 方法,您可以使用 "useCapture" 参数指定传播类型:
addEventListener(
event,
function,
useCapture);
默认值为 false,将使用冒泡传播,当该值设置为 true 时,事件将使用捕获传播。
document.getElementById("myP").addEventListener("click", myFunction, true);
document.getElementById("myDiv").addEventListener("click", myFunction, true);
亲自试一试 »
这个removeEventListener()
方法删除已使用 addEventListener() 方法附加的事件处理程序:
有关所有 HTML DOM 事件的列表,请查看我们完整的HTML DOM 事件对象参考。
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!