将相同的事件侦听器函数添加到多个元素

Mat*_*eil 2 javascript

document.getElementById("composantes").addEventListener("click", function(event){
    event.preventDefault();
    var selector = $(this);
    console.log('click'+selector.attr('id'));
    ToggleLocalStorage(selector,'expanded');
});
Run Code Online (Sandbox Code Playgroud)

这是我的代码,我希望它适用于多个ID,例如:

document.getElementById("composantes, campus, public_target").addEventListener("click", function(event){
Run Code Online (Sandbox Code Playgroud)

spa*_*nky 9

你可以用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');
}
Run Code Online (Sandbox Code Playgroud)