Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在纯javascript中删除输入上的事件侦听器_Javascript_Html - Fatal编程技术网

在纯javascript中删除输入上的事件侦听器

在纯javascript中删除输入上的事件侦听器,javascript,html,Javascript,Html,我使用ID在输入框中附加事件监听器。因此它工作正常,但我想删除事件监听器。它对我不起作用 document.getElementById("myInput").addEventListener("keyup", function({ console.log(document.getElementById("myInput").value); }); document.getElementById("myInput").removeEventListener("keyup",fun

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

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


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

});

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

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

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

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

in.addEventListener("keyup", myListener);
in.removeEventListener("keyup", myListener);

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

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

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

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

in.addEventListener("keyup", myListener);
in.removeEventListener("keyup", myListener);
试试看

var fn = function({
    console.log(document.getElementById("myInput").value);
}

document.getElementById("myInput").addEventListener("keyup", fn);
document.getElementById("myInput").removeEventListener("keyup", fn);
试试看

var fn = function({
    console.log(document.getElementById("myInput").value);
}

document.getElementById("myInput").addEventListener("keyup", fn);
document.getElementById("myInput").removeEventListener("keyup", fn);
第二个参数是要删除的eventlistener,请参阅


第二个参数是要删除的eventlistener,请参见此处的命名函数将帮助您!命名函数将在此处帮助您!你的回答很好,但对于一个小问题,你的回答有点大。添加一个额外的“快速回答部分”,以2-3行解释解决方案感谢您的建议!你的回答很好,但对于一个小问题,你的回答有点大。添加一个额外的“快速回答部分”,以2-3行解释解决方案感谢您的建议!