我在删除事件监听器时遇到问题。当我运行此脚本时,出现 changeGirl.off("click") is not a function
错误。我需要删除事件监听器,其他一切都工作正常。有什么想法吗?
$( document ).ready(function() {
$(".changeGirl").each(function() {
var changeGirl = this;
changeGirl.addEventListener("click",function() {
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
changeGirl.innerHTML = xmlhttp.responseText;
changeGirl.off("click");
}
}
xmlhttp.open("GET","getUsers.php?girls="+$(this).attr("data-position"),true);
xmlhttp.send();
});
});
});
最佳答案
您可以尝试从addEventListener中提取函数并将其命名为yourFunction,然后使用removeEventListener:
changeGirl.addEventListener("click", yourFunction);
changeGirl.removeEventListener("click", yourFunction, true);
关于javascript - 如何从类中删除事件监听器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59348097/