addEventListener() 方法

摘要:
<二<1//更改t2{3vart2=document.getElementById(“t2”);8}9}1011的函数2functionmodifyText()//添加事件侦听器12varel=document。表的getElementById(“外部”);假);本示例演示了如何:;按钮>单击我<pid=“演示”>

首先需要了解addEventListener()的工作原理是将实现EventListener的函数或对象添加到调用它的EventTarget上的指定事件类型的事件侦听器列表中。

语法

element.addEventListener(eventfunctionuseCapture)

参数值

参数描述
event必须。字符串,指定事件名。

注意: 不要使用 "on" 前缀。 例如,使用 "click" ,而不是使用 "onclick"。

提示: 所有 HTML DOM 事件,可以查看我们完整的 HTML DOM Event 对象参考手册
function必须。指定要事件触发时执行的函数。

当事件对象会作为第一个参数传入函数。 事件对象的类型取决于特定的事件。例如, "click" 事件属于 MouseEvent(鼠标事件) 对象。
useCapture可选。布尔值,指定事件是否在捕获或冒泡阶段执行。

可能值:
  • true - 事件句柄在捕获阶段执行
  • false- false- 默认。事件句柄在冒泡阶段执行

示例

添加一个简单的监听器

下面这个例子用来展示如何使用 addEventListener() 监听鼠标点击一个元素。

<table id="outside">
    <tr><td id="t1">one</td></tr>
    <tr><td id="t2">two</td></tr>
</table>
 1 // 改变t2的函数
 2 function modifyText() {
 3   var t2 = document.getElementById("t2");
 4   if (t2.firstChild.nodeValue == "three") {
 5     t2.firstChild.nodeValue = "two";
 6   } else {
 7     t2.firstChild.nodeValue = "three";
 8   }
 9 }
10 
11 // 为table添加事件监听器
12 var el = document.getElementById("outside");
13 el.addEventListener("click", modifyText, false);
14 
15 // 输出结果:↓
16 // one
17 // two

实例

您可以在同一个元素中添加不同类型的事件。

该实例演示了如何在同一个 <button> 元素中添加多个事件:

<button id="myBtn">点我</button>
<p id="demo"></p>
var x = document.getElementById("myBtn");
x.addEventListener("mouseover", myFunction);
x.addEventListener("click", mySecondFunction);
x.addEventListener("mouseout", myThirdFunction);
function myFunction() 
{
    document.getElementById("demo").innerHTML += "鼠标经过!<br>"
}
function mySecondFunction() 
{
    document.getElementById("demo").innerHTML += "点击!<br>"
}
function myThirdFunction() 
{
    document.getElementById("demo").innerHTML += "鼠标离开!<br>"
}

备注

为什么要使用 addEventListener?

addEventListener() 是 W3C DOM 规范中提供的注册事件监听器的方法。它的优点包括:

  • 它允许给一个事件注册多个监听器。 特别是在使用AJAX库,JavaScript模块,或其他需要第三方库/插件的代码。
  • 它提供了一种更精细的手段控制 listener 的触发阶段。(即可以选择捕获或者冒泡)。
  • 它对任何 DOM 元素都是有效的,而不仅仅只对 HTML 元素有效。

免责声明:文章转载自《addEventListener() 方法》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇枚举Enum 的常用方法openresty开发系列1--网关API架构及选型下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

使用SpringBoot Admin监控SpringCloud微服务

spring-boot admin的github地址:https://github.com/codecentric/spring-boot-admin 本文基于SpringCloud的环境和配置上增加配置信息,而不是从0开始的配置。 一、搭建admin服务端 1、引入pom <properties> <spring-boot-a...

css div上下左右居中

相信大家都会遇到这样的问题,要求一个块上下左右居中,在这里我总结了几个好用的方法 1.已知要居中的块width height  假设  content 要在f里上下左右居中 <div class="f"><div class="content"></div></div> <style> .f{  ...

DataX环境配置

摘要: DataX(3.0)配置过程 配置过程以及插件配置 1、DataX(3.0)地址:https://github.com/alibaba/DataX 官方提供的配置需求:本例使用了JDK1.8 Python使用了CentOS预装的版本。 System Requirements: Linux、Windows JDK(1.6以上,推荐1.6) P...

js DOM常见事件

js事件命名为on+动词 1.onclick事件,点击鼠标时触发,ondbclick双击事件 <h1 onclick="this.innerHTML='点击后文本'">点击文本!</h1> <h1 onclick="changetext(this)">点击文本!</h1> <script>...

vue实现简单日历

1 <!DOCTYPE html> 2 <html lang="en"> 3 4 <head> 5 <meta charset="UTF-8"> 6 <title>日历</title> 7 <style> 8 * {...

Flowable源码分析:Spring Data JPA实现从自己创建的数据库中读取指定信息

在Flowable-ui-task模块查询数据库相关内容记录 目录: 读取信息为Flowable内部对象 读取信息为自定义对象属性 读取信息为ProcessDefinition(Flowable内部对象) ProcessDefinition为Flowable中定义的对象,因此有提供专门的数据库查询接口,如: 以id的方式 repositorySer...