返回

addEventListener() 事件监听方法指南

前端

addEventListener() 方法的语法

addEventListener(type, listener, options);
  • type :事件类型,例如 "click" 或 "mouseover"。
  • listener :事件触发后调用的函数。
  • options :可选参数,用于指定事件是冒泡还是捕获。

事件类型

addEventListener() 方法可以监听的所有事件类型如下:

  • click:鼠标单击事件
  • dblclick:鼠标双击事件
  • mouseup:鼠标松开事件
  • mousedown:鼠标按下事件
  • mousemove:鼠标移动事件
  • mouseover:鼠标移入事件
  • mouseout:鼠标移出事件
  • keypress:键盘按下事件
  • keydown:键盘松开事件
  • keyup:键盘松开事件
  • focus:元素获得焦点事件
  • blur:元素失去焦点事件
  • change:元素值改变事件
  • submit:表单提交事件
  • reset:表单重置事件
  • scroll:元素滚动事件
  • resize:窗口大小改变事件
  • load:页面加载完成事件
  • unload:页面卸载事件

事件监听器

事件监听器是一个函数,当指定的事件在该元素上发生时,该函数将会被调用。事件监听器可以是匿名的,也可以是具名的。

事件流

事件流定义了元素事件触发的顺序。有两种类型的事件流:冒泡和捕获。

  • 冒泡 :事件从最具体的元素触发,然后逐级向上传播到祖先元素。
  • 捕获 :事件从最具体的元素触发,然后逐级向下传播到后代元素。

addEventListener() 方法的示例

// 为元素添加一个单击事件监听器
element.addEventListener("click", function() {
  alert("你点击了元素!");
});

// 为元素添加一个键盘按下事件监听器
element.addEventListener("keypress", function(event) {
  alert("你按下了 " + event.key + " 键!");
});

// 为元素添加一个页面加载完成事件监听器
window.addEventListener("load", function() {
  alert("页面加载完成!");
});

注意事项

  • 不要使用 "on" 前缀。例如,使用 "click" ,而不是使用 "onclick"。
  • 事件传递有两种方式:冒泡与捕获。事件传递定义了元素事件触发的顺序。
  • 如果您在元素上添加了多个事件监听器,则这些监听器将按照添加的顺序被调用。
  • 您可以使用 removeEventListener() 方法来删除事件监听器。