javascript - 跨浏览器启用/禁用鼠标滚轮

标签 javascript jquery scroll

我有 2 个按钮:“disable_scroll”和“enable_scroll”用于启用/禁用鼠标滚动。 禁用滚动效果很好:

 var cancelscroll = function(e) {
      e.preventDefault();
 };

  $("#disable_scroll").on("click", function () {
       if ("onmousewheel" in document) { // for browser except FF
            document.onmousewheel = cancelscroll;
       } else { // for  FF
            document.addEventListener('DOMMouseScroll', cancelscroll);
       }
  });

但是当我想启用鼠标滚动时,我在 Firefox 中遇到了问题。在 Firefox 中,鼠标滚动不会打开(在其他浏览器中,此代码运行良好)。请问谁能帮忙找出错误所在吗?

 $("#enable_scroll").on("click", function () {
            if ("onmousewheel" in document) { // for brouzers except FF
                document.onmousewheel = function(e){};
            } else { // for  FF
                document.addEventListener('DOMMouseScroll', function(e){});
            }
    });

最佳答案

这在任何地方都有效:https://github.com/brandonaaron/jquery-mousewheel/blob/master/jquery.mousewheel.js

你可以像这样使用它:

$('#test3')
                .hover(function() { log('#test3: mouseover'); }, function() { log('#test3: mouseout'); })
                .mousewheel(function(event, delta, deltaX, deltaY) {
                    log('#test3: I should not have been logged');
                })
                .unmousewheel();

关于javascript - 跨浏览器启用/禁用鼠标滚轮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11330023/

相关文章:

jquery - 星级 JavaScript 的 CSS 背景样式问题

javascript - 如何使用 jQuery 滚动到特定项目?

javascript - 追加行添加自动完成 jQuery

javascript - 不使用 data-id 标签的 Jquery 菜单

javascript - 根据 select_box 的值显示隐藏的 Div

ios - 如果单元格数量少于一个屏幕,则滚动 UITableView

c# - 在 RichTextBox C# WinForms 中自动滚动

javascript - 允许用户调整页面上图像的大小

javascript - 如何在现有的多个 elementsByClassName 上设置 createTextNode?

c# - 意外的 token > jquery ajax