在单行中向多个元素添加事件监听器
使用多个元素时,向每个元素添加事件监听器可能很乏味单独一个。值得庆幸的是,有一种方法可以简化此过程,并在一行代码中将事件侦听器添加到多个元素。
使用循环
一种有效的方法是使用循环迭代元素数组并向每个元素添加事件侦听器。例如:
let elementsArray = document.querySelectorAll("whatever"); elementsArray.forEach(function(elem) { elem.addEventListener("input", function() { // This function does stuff }); });
此代码选择与指定选择器匹配的所有元素,并为“input”事件的每个元素添加一个事件侦听器。
语法问题
您可能已经注意到第二个示例中的语法问题:
element1 && element2.addEventListener("input", function() { // this function does stuff });
此语法在语法上不正确。正确的写法是:
(element1 && element2) && element2.addEventListener("input", function() { // this function does stuff });
但是,这种方法仍然效率不高,因为它为每个元素单独添加了一个事件监听器。上面概述的循环方法是一种更优化的解决方案。
以上是如何在一行代码中将事件侦听器添加到多个元素?的详细内容。更多信息请关注PHP中文网其他相关文章!