Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/416.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 如何停止eventListener执行操作?_Javascript_Jquery - Fatal编程技术网

Javascript 如何停止eventListener执行操作?

Javascript 如何停止eventListener执行操作?,javascript,jquery,Javascript,Jquery,我有以下事件,但当我点击关闭按钮时,我不想激活鼠标悬停,直到完成鼠标悬停。所以我点击关闭按钮,它会折叠,但是当它折叠时,即使我不移动鼠标,它仍然会继续扩展。所以我想保持折叠,直到鼠标离开,然后我可以鼠标悬停 function addEventListeners() { document.getElementById("container").addEventListener("mouseover", isClicked); document.getElementById("con

我有以下事件,但当我点击关闭按钮时,我不想激活鼠标悬停,直到完成鼠标悬停。所以我点击关闭按钮,它会折叠,但是当它折叠时,即使我不移动鼠标,它仍然会继续扩展。所以我想保持折叠,直到鼠标离开,然后我可以鼠标悬停

function addEventListeners() {
    document.getElementById("container").addEventListener("mouseover", isClicked);
    document.getElementById("container").addEventListener("mouseleave", collapse);
    document.getElementById("close-button").addEventListener("click", collapse);        
    document.getElementById("box").addEventListener("click", clickthrough);
    document.getElementById("replay").addEventListener("click", replay);
    if(isIphone) document.getElementById("video").addEventListener("click", function(){collapse()});
}

删除侦听器是一种方法。另一种方法是让mouseover处理程序设置一个全局变量,并让其他处理程序在执行任何操作之前进行检查。@Andreas我知道这是一种方法,但我不知道如何在我的代码中应用它,因为我已经完成了此文档。getElementByIdclose-ButtonAndEventListenerClick,document.getElementByIdcontainer.removeEventListener'mouseover',折叠;请不要用jQuery标记问题,除非您想要jQuery答案,即只使用off和on: