删除纯 JavaScript 中输入的事件侦听器

Anu*_*pam 0 html javascript

我使用 ID 在输入框中附加事件侦听器。所以它工作正常,但我想删除事件侦听器,它对我不起作用。

document.getElementById("myInput").addEventListener("keyup", function({
    console.log(document.getElementById("myInput").value);
});


  document.getElementById("myInput").removeEventListener("keyup",function() {

});
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 5

第二个参数需要是您要删除的事件侦听器(因此您需要保留对该函数的引用,而不是直接将函数表达式作为参数addEventListener)。

你正在向它传递一个全新的函数。它不会被删除,因为该函数一开始就没有监听。

var in = document.getElementById("myInput");

function myListener (event) {
    console.log(in.value);
}

in.addEventListener("keyup", myListener);
in.removeEventListener("keyup", myListener);
Run Code Online (Sandbox Code Playgroud)