我想使用JavaScript ES6向我的按钮添加多个侦听器。 我正在关注this guide
由于某种原因,它对我不起作用。
HTML:
<input type="button" value="Button">
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);
});
答案 0 :(得分:1)
events
作为单个字符串传递-我认为您遇到的问题是由于未正确分割此字符串引起的。使用' '
作为拆分分隔符。
function multipleEventsListeners(elem, events, func) {
events.split(' ').forEach(e => elem.addEventListener(e, func, false));
}
答案 1 :(得分:1)
1)split
应该是split(' ')
,以便在空格处分割
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">