【问题标题】:How to return mousewheel scroll event when unbind is not working解除绑定不起作用时如何返回鼠标滚轮滚动事件
【发布时间】:2018-04-17 04:06:12
【问题描述】:

目前我正在使用一个中间有一个图表的网站,该图表可以使用鼠标滚动来放大和缩小,但我的问题是当我滚动页面溢出或整个身体也在滚动时我有尝试了这段代码,用于停止滚动的绑定正在图表上工作,但是当我在图表外滚动时,我无法解除绑定或将其返回到原始状态。下面是我正在使用的代码。我也尝试将函数更改为返回 true,但仍然无法正常工作。

绑定滚动

      $('body').bind('mousewheel DOMMouseScroll', lockScroll);

取消绑定滚动

      $('body').unbind('mousewheel DOMMouseScroll', lockScroll);


      function lockScroll(e) {
           e.preventDefault();
      }

【问题讨论】:

  • 当然是绑定到正文而不是图表的 DOM 对象。
  • 你能不能给我解释清楚,很抱歉没有理解好。我正在阻止整个页面滚动,这就是为什么我在图表上的鼠标滚轮仍在工作时使用正文。
  • $('.chart').mouseleave(function(){ $('body').unbind...
  • 嗨@Wils 感谢您的帮助,它现在正在为我工​​作:)

标签: javascript jquery


【解决方案1】:

解除绑定,忽略鼠标滚轮事件。

var mindingMousewheel = true

当您不想观看时,将其设置为 false。并在你做任何事情之前对其进行测试。

$('body').bind('mousewheel', function(event, delta) {
          if (! mindingMousewheel) return;
})

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多