向一行中的多个元素添加事件监听器
使用多个 HTML 元素时,向每个元素添加事件监听器可能会很麻烦单独一个。幸运的是,有一种更有效的方法可以使用 JavaScript 来实现此目的。
请考虑以下代码片段:
<p>Example 1:</p> <pre class="brush:php;toolbar:false">element1.addEventListener("input", function() { // this function does stuff });
Example 2:
element1 &&& element2.addEventListener("input", function() { // this function does stuff });
示例 1 将事件侦听器添加到单个元素,而示例 2 则尝试向多个元素添加事件侦听器。然而,示例 2 的语法不正确。
解决方案在于使用 JavaScript 的 forEach() 方法。假设您有一个数组,其中包含要添加事件侦听器的元素。在这种情况下,您可以使用以下代码:
let elementsArray = document.querySelectorAll("whatever"); elementsArray.forEach(function(elem) { elem.addEventListener("input", function() { // This function does stuff }); });
在此代码中,querySelectorAll("whatever") 返回与指定选择器匹配的元素数组。然后,forEach() 方法会迭代数组中的每个元素并添加所需的事件侦听器。
此方法提供了一种简洁高效的方法来同时向多个元素添加事件侦听器。通过利用数组和 forEach() 方法,您可以减少代码冗余并提高 JavaScript 项目的效率。
以上是如何在一行 JavaScript 中向多个元素添加事件监听器?的详细内容。更多信息请关注PHP中文网其他相关文章!