JavaScript 中 addEventListener 和 onclick 的区别
**addEventListener** 和 **onclick** 事件都用于监听事件。这两个事件方法都会记录事件,并在每次点击按钮时根据该事件执行函数。尽管两者之间存在差异,但它们的工作原理是相似的。
在本文中,我们将探讨 JavaScript 中 addEventListener 和 onclick 函数之间的区别。
1. addEventListener
addEventListener 方法使用事件处理程序将其附加到指定的元素。
语法
element.addEventListener(event, listener, useCapture);
参数
**event** - 事件可以定义为任何有效的 JavaScript 事件。事件通常在不使用 on 前缀的情况下使用(如 onclick 方法中所用)。
**Listener(处理程序函数)** - 这定义了一个 JavaScript 函数,用于响应发生的事件。
**useCapture(可选参数)** - 这是一个可选参数,它接受一个可选值,指定事件是在捕获阶段还是冒泡阶段执行。
示例 1
下面的示例程序显示了 **addEventListener** 方法可以支持应用于同一元素的多个事件处理程序。
# index.html
<!DOCTYPE html> <html> <body> <h1 style="color: green;"> Welcome to Tutorials Point </h1> <button id="btn">Click here</button> <h3 id="text1"></h3> <h3 id="text2"></h3> <script> let btn_element = document.getElementById("btn"); btn_element.addEventListener("click", () => { document.getElementById("text1") .innerHTML = "Executed Task 1"; }) btn_element.addEventListener("click", () => { document.getElementById("text2") .innerHTML = "Executed Task 2"; }); </script> </body> </html>
输出
当您单击“点击此处”按钮时,它将显示“已执行任务 1”、“已执行任务 2”。
2. onClick()
onClick() 事件捕获点击事件,然后调用所需的函数。onClick 事件仅向元素添加单个事件。
示例 2
下面的示例程序显示了我们无法通过 onClick() 控制事件传播。此外,它可以作为 HTML 属性添加。
# filter.js
<!DOCTYPE html> <html> <body> <h1 style="color: green;"> Welcome To Tutorials Point </h1> <button id="btn">Click here</button> <h3 id="text1"></h3> <h3 id="text2"></h3> <script> let btn_element = document.getElementById("btn"); btn_element.onclick = () => { document.getElementById("text1") .innerHTML = "Executed Task 1"; }; btn_element.onclick = () => { document.getElementById("text2") .innerHTML = "Executed Task 2"; }; </script> </body> </html>
输出
当您单击“点击此处”按钮时,它将显示“已执行任务 2”。
广告