Javascript 删除切换的事件侦听器方法
我有一个简单的点击功能,当点击按钮时,用户不能滚动。这一切正常。该按钮起到切换的作用,在切换的“else”部分,即当用户再次单击时,我想删除事件侦听器,该事件侦听器使用Javascript 删除切换的事件侦听器方法,javascript,html,dom-events,toggle,Javascript,Html,Dom Events,Toggle,我有一个简单的点击功能,当点击按钮时,用户不能滚动。这一切正常。该按钮起到切换的作用,在切换的“else”部分,即当用户再次单击时,我想删除事件侦听器,该事件侦听器使用removeEventListener()停止用户滚动方法。但是,我在此方法中调用的函数不起作用 我好像搞不懂问题出在哪里 代码笔: JS var-button=document.getElementById(“按钮”); //单击按钮时要调用和删除的函数 函数noscorl(){ 滚动到(0,0); } //切换事件侦听器 v
removeEventListener()停止用户滚动代码>方法。但是,我在此方法中调用的函数不起作用
我好像搞不懂问题出在哪里
代码笔:
JS
var-button=document.getElementById(“按钮”);
//单击按钮时要调用和删除的函数
函数noscorl(){
滚动到(0,0);
}
//切换事件侦听器
var scrollToggle=false;
函数toggleEventListener(){
如果(滚动切换===false){
addEventListener(“滚动”,函数(){
noscorl();
},假);
scrollToggle=true;
}否则{
removeEventListener(“滚动”,函数(){
noscorl();
},假);
scrollToggle=false;
}
}
addEventListener(“单击”,函数(){
toggleEventListener();
},false)
body{margin:0;padding:0;height:150vh;}
#按钮{字体系列:arial;
利润率:10px030px;
宽度:100px;
高度:50px;
背景:红色;
显示器:flex;
证明内容:中心;
对齐项目:居中;
颜色:白色;
光标:指针;
}
点击我
我不相信你能。您需要给它命名,以便它知道哪个侦听器匹配。我们可以重用您的noscroll
函数作为我们的命名处理程序
尝试运行该代码段,您将看到它具有您预期的结果
var-button=document.getElementById(“按钮”);
//单击按钮时要调用和删除的函数
函数noscorl(){
滚动到(0,0);
}
//切换事件侦听器
var scrollToggle=false;
函数toggleEventListener(){
如果(滚动切换===false){
window.addEventListener(“滚动”,noscroll,false);
scrollToggle=true;
}否则{
window.removeEventListener(“滚动”,noscroll,false);
scrollToggle=false;
}
}
按钮。addEventListener(“单击”),函数(){
toggleEventListener();
},false)
body{margin:0;padding:0;height:150vh;}
#按钮{字体系列:arial;
利润率:10px030px;
宽度:100px;
高度:50px;
背景:红色;
显示器:flex;
证明内容:中心;
对齐项目:居中;
颜色:白色;
光标:指针;
}
点击我
这个方法怎么样
window.removeEventListener("scroll", noscroll);
这可以通过6行代码实现。您不必绑定和解除绑定事件侦听器。