JavaScript HTML DOM 事件监听器

JavaScript HTML DOM EventListener(事件监听器)(秒懂事件监听) JavaScript HTML DOM EventListener(事件监听器)是一种用于在HTML文档中捕获和处理事件的机制。通过使用事件监听器,可以在特定的HTML元素上注册监听器函数,以便在事件发生时执行相应的操作。事件监听是在网页开发中常用的技术,用于捕获特定的用户操作或系统事件,并在事件发生时执行相应的代码。事件类型: 事件可以是用户操作,如点击、悬停、键盘输入等,也可以是系统事件,如窗口加载、滚动、大小调整等。事件目标。 阅读详情

addEventListener() 方法

!DOCTYPE html>
<html>
<body>

<h2>JavaScript addEventListener()</h2>

<p>This example uses the addEventListener() method to attach a click event to a button.</p>

<button id="myBtn">Try it</button>

<p id="demo"></p>

<script>
document.getElementById("myBtn").addEventListener("click", displayDate);

function displayDate() {
  document.getElementById("demo").innerHTML = Date();
}
</script>

</body>
</html> 

addEventListener() 方法将事件处理程序附加到指定的元素。

addEventListener() 方法在不覆盖现有事件处理程序的情况下将事件处理程序附加到元素。

可以向一个元素添加多个事件处理程序。

可以将许多相同类型的事件处理程序添加到一个元素,即两个“点击”事件。

可以将事件侦听器添加到任何 DOM 对象,而不仅仅是 HTML 元素。即窗口对象。

addEventListener() 方法可以更轻松地控制事件对冒泡的反应。

使用 addEventListener() 方法时,JavaScript 与 HTML 标记分开,以提高可读性,并允许您添加事件侦听器,即使您不控制 HTML 标记也是如此。

可以使用 removeEventListener() 方法轻松删除事件侦听器。

语法

element.addEventListener(event, function, useCapture);

第一个参数是事件的类型(如“ click ”或“ mousedown ”或任何其他 HTML DOM 事件。)

第二个参数是事件发生时我们要调用的函数。

第三个参数是一个布尔值,指定是使用事件冒泡还是事件捕获。此参数是可选的。

注意

没有为事件使用“on”前缀;使用“ click ”代替“ onclick ”

向元素添加事件处理程序

element.addEventListener("click", function(){ alert("Hello World!"); });

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript addEventListener()</h2>

<p>This example uses the addEventListener() method to attach a click event to a button.</p>

<button id="myBtn">Try it</button>

<script>
document.getElementById("myBtn").addEventListener("click", function() {
  alert("Hello World!");
});
</script>

</body>
</html>

还可以引用外部“命名”函数:

element.addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}

!DOCTYPE html>
<html>
<body>

<h2>JavaScript addEventListener()</h2>

<p>This example uses the addEventListener() method to execute a function when a user clicks on a button.</p>

<button id="myBtn">Try it</button>

<script>
document.getElementById("myBtn").addEventListener("click", myFunction);

function myFunction() {
  alert ("Hello World!");
}
</script>

</body>
</html>

向同一元素添加多个事件处理程序

addEventListener() 方法允许您向同一元素添加多个事件,而不会覆盖现有事件:

element.addEventListener("click", myFunction);
element.addEventListener("click", mySecondFunction);

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript addEventListener()</h2>

<p>This example uses the addEventListener() method to add two click events to the same button.</p>

<button id="myBtn">Try it</button>

<script>
var x = document.getElementById("myBtn");
x.addEventListener("click", myFunction);
x.addEventListener("click", someOtherFunction);

function myFunction() {
  alert ("Hello World!");
}

function someOtherFunction() {
  alert ("This function was also executed!");
}
</script>

</body>
</html>

可以将不同类型的事件添加到同一元素:

element.addEventListener("mouseover", myFunction);
element.addEventListener("click", mySecondFunction);
element.addEventListener("mouseout", myThirdFunction);

!DOCTYPE html>
<html>
<body>

<h2>JavaScript addEventListener()</h2>

<p>This example uses the addEventListener() method to add many events on the same button.</p>

<button id="myBtn">Try it</button>

<p id="demo"></p>

<script>
var x = document.getElementById("myBtn");
x.addEventListener("mouseover", myFunction);
x.addEventListener("click", mySecondFunction);
x.addEventListener("mouseout", myThirdFunction);

function myFunction() {
  document.getElementById("demo").innerHTML += "Moused over!<br>";
}

function mySecondFunction() {
  document.getElementById("demo").innerHTML += "Clicked!<br>";
}

function myThirdFunction() {
  document.getElementById("demo").innerHTML += "Moused out!<br>";
}
</script>

</body>
</html>

向窗口对象添加事件处理程序

 addEventListener() 方法允许您在任何 HTML DOM 对象(例如 HTML 元素、HTML 文档、窗口对象或其他支持事件的对象,如 xmlHttpRequest 对象)上添加事件侦听器。

添加一个在用户调整窗口大小时触发的事件监听器:

window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = sometext;
});

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript addEventListener()</h2>

<p>This example uses the addEventListener() method on the window object.</p>

<p>Try resizing this browser window to trigger the "resize" event handler.</p>

<p id="demo"></p>

<script>
window.addEventListener("resize", function(){
  document.getElementById("demo").innerHTML = Math.random();
});
</script>

</body>
</html>

传递参数

传递参数值时,使用“匿名函数”调用带有参数的指定函数:

element.addEventListener("click", function(){ myFunction(p1, p2); });

<!DOCTYPE html>
<html>
<body>

<h2>JavaScript addEventListener()</h2>

<p>This example demonstrates how to pass parameter values when using the addEventListener() method.</p>

<p>Click the button to perform a calculation.</p>

<button id="myBtn">Try it</button>

<p id="demo"></p>

<script>
let p1 = 5;
let p2 = 7;
document.getElementById("myBtn").addEventListener("click", function() {
  myFunction(p1, p2);
});

function myFunction(a, b) {
  document.getElementById("demo").innerHTML = a * b;
}
</script>

</body>
</html>

事件冒泡还是事件捕获?

HTML DOM 中有两种事件传播方式,冒泡和捕获。

事件传播是一种在事件发生时定义元素顺序的方法。如果在 <div> 元素中有一个 <p> 元素,并且用户点击了 <p> 元素,应该首先处理哪个元素的“点击”事件?

在冒泡中,首先处理最内层元素的事件,然后再处理外层元素:首先处理 <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);

<!DOCTYPE html>
<html>
<head>
<style>
#myDiv1, #myDiv2 {
  background-color: coral;
  padding: 50px;
}

#myP1, #myP2 {
  background-color: white; 
  font-size: 20px;
  border: 1px solid;
  padding: 20px;
}
</style>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type">
</head>
<body>

<h2>JavaScript addEventListener()</h2>

<div id="myDiv1">
  <h2>Bubbling:</h2>
  <p id="myP1">Click me!</p>
</div><br>

<div id="myDiv2">
  <h2>Capturing:</h2>
  <p id="myP2">Click me!</p>
</div>

<script>
document.getElementById("myP1").addEventListener("click", function() {
  alert("You clicked the white element!");
}, false);

document.getElementById("myDiv1").addEventListener("click", function() {
  alert("You clicked the orange element!");
}, false);

document.getElementById("myP2").addEventListener("click", function() {
  alert("You clicked the white element!");
}, true);

document.getElementById("myDiv2").addEventListener("click", function() {
  alert("You clicked the orange element!");
}, true);
</script>

</body>
</html>

removeEventListener() 方法

removeEventListener() 方法删除已附加到 addEventListener() 方法的事件处理程序:

element.removeEventListener("mousemove", myFunction);

<!DOCTYPE html>
<html>
<head>
<style>
#myDIV {
  background-color: coral;
  border: 1px solid;
  padding: 50px;
  color: white;
  font-size: 20px;
}
</style>
</head>
<body>

<h2>JavaScript removeEventListener()</h2>

<div id="myDIV">
  <p>This div element has an onmousemove event handler that displays a random number every time you move your mouse inside this orange field.</p>
  <p>Click the button to remove the div's event handler.</p>
  <button onclick="removeHandler()" id="myBtn">Remove</button>
</div>

<p id="demo"></p>

<script>
document.getElementById("myDIV").addEventListener("mousemove", myFunction);

function myFunction() {
  document.getElementById("demo").innerHTML = Math.random();
}

function removeHandler() {
  document.getElementById("myDIV").removeEventListener("mousemove", myFunction);
}
</script>

</body>
</html>

参考地址:JavaScript DOM EventListener

javascript(table的监听事件、tr定时滚动并实现鼠标悬停功能) 在JavaScript中,你可以使用事件监听器来监听HTML表格的特定事件。要监听表格的更改事件,通常需要与表单元素(如输入框、下拉列表等)结合使用。当表单元素的值发生变化时,可以触发更改事件。 阅读详情

相关推荐

【02JavaScript用法】JavaScript揭秘:从入门到进阶,探索其丰富用法

JavaScript是一门功能强大且广泛应用的脚本语言,用于为网页增加交互性和动态性。通过掌握JavaScript的语法、特性和应用方法,开发者可以创建出丰富多样的Web应用。

燃正科技 408

HTML DOM 事件监听器

DOM事件流同时支持两种事件模型:捕获型事件和冒泡型事件,捕获型事件首先发生。在捕获中,外部元素的事件会先被触发,然后才会触发内部元素的事件,即: 元素的点击事件先触发 ,然后再触发 元素的点击事件。通过JavaScript,我们可以给页面的某些元素添加事件的监听器,当元素触发相应事件的时候监听器就会捕捉到这个事件并执行相应的代码。在冒泡中,内部元素的事件会先被触发,然后再触发外部元素,即: 元素的点击事件先触发,然后会触发 元素的点击事件。

2795

Delta并联机械手-Codesys实现以及正解逆解研究

由于Codesys的Robotics模块有Delta并联机械手的运动模型,因此借助Codesys的机械手运动模型,研究自己的正解逆解算法。

weixin_42386991的博客 5566

学习笔记------HTML按键监听

对于实体按键,HTML提供了三种操做,KeyDown按键按压,KeyPress按键按压并产生字符,KeyUp释放按键。平时我们在玩游戏时难免会涉及到与页面元素交互,HTML提供了多种监听事件让用户可以通过硬件与页面元素进行交互。

m0_56464236的博客 1358

使用再生龙还原镜像文件到硬盘

1. 把制作好的再生龙光盘插入需要的电脑,开机按F4使用再生龙启动2. 选择默认的:Clonezailla live(Default settings,VGA 800*600),然后等待几分钟 3. 选择语言:简体中文 4. 选择不修改键盘映射 5. 选择使用再生龙          6. 选择硬盘/分区(存到/来自)镜像文件,此选项既可以制作镜像,也可以恢复镜像。 7. 使用本机的分区     ...

weixin_42168893的博客 1万+

PCB设计中的规则优先级陷阱:为什么你的过孔总是十字连接?

本文深入解析PCB设计中Altium Designer规则优先级机制,解决过孔总是十字连接而非全连接的问题。通过分析铺铜连接原理和规则匹配逻辑,提供精确控制连接方式的技术实践,包括Custom Query使用和优先级最佳设置,帮助设计师避免常见陷阱,优化高速电路板的电气性能和制造可靠性。

banana的博客 469

html页面 事件监听,HTML的input监听输入事件

$("#term").bind('input propertychange', function () {var term = $("#term").val();if (!type.test(term)) {$("#message").html(" ဆ 输入有误,请输入正整数");$("#addActive").addClass("layui-btn-disabled");return fals...

weixin_42168230的博客 5574

触摸屏蓝牙控制

使用杰理芯片通过蓝牙实现触摸屏功能,需要结合触摸屏数据采集、蓝牙数据传输以及移动端应用的实现。

m0_46145044的博客 1109

js---Dom给元素添加事件的两种方式

1.按照事件三要素的语法来添加事件,这种方式能让html元素和js脚本分离 例如: Html元素: &lt;input type="button" id="btn1" value="插入节点到末尾" /&gt; Js脚本 &lt;script&gt; var btn1=document.getElementById('btn1'); //父节点 ...

司天宏的博客 1万+

从数据到行动:客服运营必分析的8大核心维度

服务运营正从被动响应升级为数据驱动型战略体系。客服中心的海量交互数据能精准反映服务效能、客户体验及运营短板,关键在于实现数据的可视化与可操作化。本文系统剖析了八类核心数据指标:1)客户行为数据(CSAT/NPS/投诉内容);2)通话效率指标(AHT/接通率);3)服务质量(质检体系/情绪识别);4)坐席绩效(FCR/客户评价);5)流程与知识库(转接率/工单时效);6)渠道流量分析;7)异常预警机制;8)成本收益模型。通过构建多维数据分析体系,企业可在客户全生命周期管理中实现服务升级、风险防控与资源

2202_75469062的博客 1400

把核心变干净的代价与回报:为什么推动 Clean Core,几乎绕不开 SAP Integration Suite 与 API Management

Clean Core的核心价值在于构建可持续升级的ERP系统架构,其关键不在于减少代码或限制扩展,而是通过解耦和治理实现系统边界的清晰划分。这一理念将推动企业从传统的"私搭乱建"式集成向平台化工程转型,而SAP Integration Suite和API Management正是实现这一转型的核心组件。 Integration Suite作为集成中枢,通过统一平台、可复用内容库和事件驱动架构,将碎片化连接转变为标准化能力;API Management则负责建立接口治理体系,通过统一入口、

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 243

JavaScript HTML DOM ---事件监听器

文章目录JavaScript HTML DOM 事件监听器addEventListener()方法向元素添加事件处理程序向相同的元素添加多个事件处理程序向Window对象添加事件处理程序传递参数事件冒泡还是事件捕获?removeEventListener() 方法浏览器支持 JavaScript HTML DOM 事件监听器 addEventListener()方法 addEventListener() 方法为指定元素指定事件处理程序。 addEventListener() 方法为元素附加事件处理程序而不会

望望byte的博客 468

vue3+element-plus - 最新详细实现将表格Table组件 “所见所得导出“ 为excel(xls/xlsx)电子表格文件,表格中的图片图像、图标等媒体资源完美导出显示(详细示例代码)

vue3,nuxt3,element plus,表格组件,Table,el-table,导出,下载,excel,电子工作簿,xls,xlsx,将表格导出成xls,如何把表格原封不动的导出成excel,保留图片,带图片,图标,如何导出包括含有图片的Excel表格,图片和表格数据导出excel,把表格导出成excel格式,表格内的图片一起导出,vue3导出图片和数据到Excel,可导出图片,导出图像到Excel,网页上的图片怎么能导出到xls表格中,显示图片url链接,图片太多导出失败,图片会超出单元格,图片不

✅ 精选推荐文章 4766

html dom listener,JavaScript htmldom 事件监听器

addEventListener() 方法document.getElementById("myBtn").addEventListener("click", displayDate);addEventListener() 方法将事件处理程序附加到指定的元素。addEventListener() 方法将事件处理程序的元素而不覆盖现有的事件处理程序。可以将多个事件处理程序添加到一个元素中。可以将同一...

weixin_42715608的博客 409

AutoSAR系列讲解(入门篇)4.1-BSW概述

BSW概述,主要讲解BSW的结构组成

雪云飞星的博客 4万+

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【Vue.js】监听器功能(EventListener)的实际应用【合集】

而此次问题的核心就在于,Vue实例化的时机过早,在其所依赖的DOM结构尚未完整构建完成时就已启动挂载流程,从而导致无法找到对应的DOM元素,最终致使计算器功能出现异常,输出框错误地显示“{{current}}”,并且按钮的交互功能也完全丧失响应。为了让代码结构更为清晰,便于后续的维护与管理工作,我打算把HTML文件中标签内的JavaScript代码迁移到外部的JS文件里,随后在HTML文件中对其进行引用。

Rossy Yan的博客 609

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

JavaScript事件、事件流、事件监听器、event、事件委托

JavaScript 与 HTML 之间的交互是通过事件实现的。事件是文档或浏览器窗口中发生的一些特定的交互瞬间。可以使用事件监听器来预定事件,以便事件发生时执行相应的代码。事件流是从页面中接收事件的顺序。DOM事件流规范规定事件流分为 3 个阶段:事件捕获阶段:事件从上往下查找对应元素,直到捕获到事件。到达目标阶段:到达目标元素后执行事件对应的处理函数。事件冒泡阶段:事件从目标元素开始冒泡。

qq_51904231的博客 1353

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

从HTML字符串获取元素引用的开源项目常见问题解决方案

从HTML字符串获取元素引用的开源项目常见问题解决方案 项目基础介绍 该项目名为 from-html,是一个开源的JavaScript工具函数,用于直接从HTML字符串中获取元素引用。它解决了创建嵌套DOM元素时的繁琐和冗长问题,允许开发者通过一行代码即可创建DOM元素并附加引用,方便后续操作如添加事件监听器等。项目主要使用的编程语言是JavaScript。 常见问题与解决方案 问题一:如何安装和...

gitblog_00823的博客 336

JavaScript学习笔记(DOM 事件、事件监听器)

JavaScript学习笔记(DOM 事件、事件监听器)@[TOC](JavaScript学习笔记(DOM 事件、事件监听器)HTML事件属性使用HTML DOM分配事件onload和onunload事件onchange事件onmouseove 和onmouseout事件onmousedown,onmouseup 以及onclick事件事件监听器addEventListener()方法外部函数 的方式向相同元素添加多个事件处理程序能够向相同元素添加不同类型的事件:向Window对象添加事件处理程序传递参数事

Clover的博客 810

如何在 JavaScript 中处理 HTML 事件?

在Web开发中,JavaScript是一种常用的脚本语言,用于增强网页的交互性和动态性。HTML事件是用户与网页交互时发生的动作,如点击、鼠标移动、键盘输入等。本文将介绍如何在JavaScript中处理HTML事件,以实现更丰富的用户体验和交互功能。HTML事件是指在网页中发生的用户交互动作,如点击、鼠标移动、键盘输入等。通过JavaScript,我们可以对这些事件进行监听和处理,以实现相应的功能。通过在HTML元素上使用"on"开头的事件属性,可以直接定义事件处理程序。

努力是为了站在万人之中,成为别人的光 4153

Java dom序列化字符串,JavaScript:如何将DOM元素序列化为稍后使用的字符串?

这似乎是一个奇怪的要求,这是非常普通的,但这是一个我想要解决的挑战。假设你有一个DOM元素,它由HTML和一些应用的CSS组成,还有一些JS事件监听器。我想克隆这个元素(并且所有应用的CSS和JS),将其序列化为一个字符串,我可以在数据库中保存以在将来的请求中添加到DOM。我知道jQuery有一些这样的方法(比如$ .css()来获取计算的样式),但是我该如何执行所有这些操作,并将其转换成可以保存...

weixin_42509894的博客 353

Javascript 笔记基础(一)

js 是什么 JavaScript,就是我们通常所说的JS。这是一种嵌入到HTML页面中的编程语言,由浏览器一边解释一边执行,js是一门高级解释性脚本语言。 组成 ECMAScript DOM 文档对象模型 BOM 浏览器对象模型 在HTML中引入JavaScript 外部JavaScript ​ HTML代码和JavaScript代码单独放在不同的文件中,然后在HTML文档中使用“script标签”来引入JavaScript代码 <script src="js/index.js

Tacit_zfy99的博客 625

HTML DOM 事件

HTML DOM(文档对象模型)事件是发生在HTML元素上的“事情”。当用户在网页上执行某些操作时(如点击鼠标、按下键盘上的键、移动鼠标等),或者当网页本身发生变化时(如加载完成、页面关闭等),就会触发这些事件。这些事件可以被JavaScript捕获并作出响应,通常是通过为元素添加事件监听器来实现的。事件监听器是一个等待事件发生的函数,当事件发生时,该函数会被自动调用。

weixin_51803498的博客 600

JS DOM事件

DOM 事件 为了在用户点击元素时执行代码,请向 HTML 事件属性添加 JavaScript 代码: onclick 例:当用户点击 时,会改变其内容: <html> <body> <h1 onclick="this.innerHTML = 'Hello!'">点击此文本!</h1> </body> </html> ...

RenOuQ的博客 266
上一篇: Object AJAX - XMLHttpRequest 对象
下一篇: apply() JavaScript 函数
Circle_Key
博客等级 码龄4年 107粉丝 52原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值