Javascript 使用preventDefault禁用鼠标滚轮,但无法启用它?
我有2个按钮来启用/禁用鼠标滚轮,如下所示。我已禁用它,但无法重新启用 功能禁用滚动{ document.addEventListenermousewheel,functionevent{ 违约事件; }, { 被动:错误 }; } 功能启用滚动{ document.removeEventListenermousewheel,functionevent{ 违约事件; }, { 被动:错误 }; } 使残废Javascript 使用preventDefault禁用鼠标滚轮,但无法启用它?,javascript,jquery,html,preventdefault,Javascript,Jquery,Html,Preventdefault,我有2个按钮来启用/禁用鼠标滚轮,如下所示。我已禁用它,但无法重新启用 功能禁用滚动{ document.addEventListenermousewheel,functionevent{ 违约事件; }, { 被动:错误 }; } 功能启用滚动{ document.removeEventListenermousewheel,functionevent{ 违约事件; }, { 被动:错误 }; } 使残废 Enale当前逻辑的问题是因为添加的事件处理程序和删除的事件处理程序不是相同的引用。要解
Enale当前逻辑的问题是因为添加的事件处理程序和删除的事件处理程序不是相同的引用。要解决此问题,请将事件处理程序放入其自己的命名函数中并引用它 让disabledScrollHandler=e=>{ e、 防止违约; } document.querySelector'disable'。addEventListener'click',=> addEventListener'mouseweel',disabledScrollHandler,{passive:false}; document.querySelector'enable'。addEventListener'click',=> removeEventListener'mousewheel',disabledScrollHandler,{passive:false}; html, 身体{ 高度:1000px; } 使残废
Enable当前逻辑的问题是因为添加的事件处理程序和删除的事件处理程序不是同一个引用。要解决此问题,请将事件处理程序放入其自己的命名函数中并引用它 让disabledScrollHandler=e=>{ e、 防止违约; } document.querySelector'disable'。addEventListener'click',=> addEventListener'mouseweel',disabledScrollHandler,{passive:false}; document.querySelector'enable'。addEventListener'click',=> removeEventListener'mousewheel',disabledScrollHandler,{passive:false}; html, 身体{ 高度:1000px; } 使残废
因此,我认为问题应该编辑为:如何在javascript中启用/禁用滚动?我认为你的标题很好。请注意,为了使问题更清楚,我对原始答案进行了扩展。因此,我认为应该将问题编辑为:如何在javascript中启用/禁用滚动?我认为您的标题很好。请注意,我对原始答案进行了扩展,以使问题更清楚。