element.addEventListener('dblclick', function () {});
我相信有一个"一次性"选项,但不知道该放在哪里?
你是对的。once
选项在可选的options
对象参数中指定,该参数可以像这样传入:
element.addEventListener('dblclick', function () {
...
}, { once: true });
文档:EventTarget.addEventListener#语法
由于once
在某些浏览器中的支持有限,我使用这种方法,无论如何,这在javascript中都是一种很好的模式。
function addEventListenerOnce(elem, name, callback) {
var foo = function(ev) {
elem.removeEventListener(name, foo);
callback.call(elem, ev)
}
elem.addEventListener(name, foo)
}
var elem = document.querySelector("button");
addEventListenerOnce(elem, 'click', () => console.log("click"))
<button>click</button>