2017-08-25 95 views
2
document.getElementById("composantes").addEventListener("click", function(event){ 
       event.preventDefault(); 
       var selector = $(this); 
       console.log('click'+selector.attr('id')); 
       ToggleLocalStorage(selector,'expanded'); 
      }); 

这里是我的代码,我想它不止一个ID的工作原理,如:添加相同的事件侦听器的功能不止一个元素

document.getElementById("composantes, campus, public_target").addEventListener("click", function(event){ 
+1

querySelectorAll和一个循环。 – epascarello

+2

由于您通过id获取元素(并且ID必须是唯一的),因此您无法执行要查找的任务。但是,您可以通过查询选择器获取元素,并通过返回的匹配元素数组进行循环 – ochi

回答

8

您可以使用querySelectorAll。也许使用命名函数很好,这样你就不会创建比需要更多相同的函数。如果您需要解除绑定处理程序,这也很有帮助。

const els = document.querySelectorAll("#composantes, #campus, #public_target"); 
for (const el of els) { 
    el.addEventListener("click", handler); 
} 

function handler(event) { 
    event.preventDefault(); 
    console.log('click', this.id); 
    ToggleLocalStorage($(this),'expanded'); 
} 
相关问题