[英]How do I add multiple event listeners to a button?
I want to add multiple listeners to my buttons using JavaScript ES6. 我想使用JavaScript ES6向我的按钮添加多个侦听器。 I am following this guide 我正在遵循本指南
For some reason, it is not working for me. 由于某种原因,它对我不起作用。
HTML: HTML:
<input type="button" value="Button">
JavaScript: JavaScript:
function multipleEventsListeners(elem, events, func) {
events.split().forEach(e => elem.addEventListener(e, func, false));
}
const INPUT = document.querySelector('input');
multipleEventsListeners(INPUT, 'onclick ontouchstart', function(e) {
console.log(this.tagName);
});
events
is passed in as a single string - I think the problem you are having is caused by not splitting this string correctly. events
作为单个字符串传递-我认为您遇到的问题是由于未正确拆分此字符串引起的。 Use ' '
as your split separator. 使用' '
作为拆分分隔符。
function multipleEventsListeners(elem, events, func) {
events.split(' ').forEach(e => elem.addEventListener(e, func, false));
}
1) split
should be split(' ')
to split on the space 1) split
应该被split(' ')
分割成空格
2) Your events should be click
and touchstart
. 2)您的事件应为click
和touchstart
。
function multipleEventsListeners(elem, events, func) { events.split(' ').forEach(e => elem.addEventListener(e, func, false)); } const INPUT = document.querySelector('input'); multipleEventsListeners(INPUT, 'click touchstart', function(e) { console.log(this.value); });
<input type="button" value="Button">
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.