在javascript中使用自定义事件调用thing.addEventListener(...)
时,有没有办法运行一些代码来设置触发器?这是一个例子:
var bong = new CustomEvent("bong");
element1.addEventListener('bong', (e) => console.log(`${e.target.id} bonged`));
现在我想在元素发生某些事情时触发bong
。比方说,mousedown
和mouseup
。我可以写:
var bong = new CustomEvent("bong");
function setBongTriggers(element) {
element.addEventListener('mousedown', (e) => e.target.dispatchEvent(bong));
element.addEventListener('mouseup', (e) => e.target.dispatchEvent(bong));
}
element1.addEventListener('bong', (e) => console.log(`${e.target.id} bonged`));
setBongTriggers(element);
但我必须为许多元素执行此操作,并且我不想为每个元素调用setBongTriggers
。有没有办法告诉addEventListener
设置触发器?