调用addEventListener时为自定义事件设置触发器

时间:2016-09-22 17:33:01

标签: javascript events dom addeventlistener custom-event

在javascript中使用自定义事件调用thing.addEventListener(...)时,有没有办法运行一些代码来设置触发器?这是一个例子:

var bong = new CustomEvent("bong");
element1.addEventListener('bong', (e) => console.log(`${e.target.id} bonged`));

现在我想在元素发生某些事情时触发bong。比方说,mousedownmouseup。我可以写:

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设置触发器?

0 个答案:

没有答案