javascript - mousemove 上的 e.preventDefault 不适用于 NiceScroll

标签 javascript jquery preventdefault nicescroll

这个Js fiddle描述了我遇到的问题。

我正在使用Nice Scroll我的网站中的插件。效果很好。

但是在一页中,我必须显示宽度几乎为 1000px 的时间线。 客户希望平滑地向下滚动直到时间线。

当鼠标指针位于时间线 div 中时,滚动条应水平移动。

我已将此代码添加到网站中。

document.getElementById('tl-scroll').addEventListener('mousewheel', function(e) {
  this.scrollLeft -= (e.wheelDelta);
  e.preventDefault();    
}, false);

似乎 preventDefault 无法与 nicescroll 一起使用。

请帮我清除这个错误。

最佳答案

您只需要使用 use return false; 而不是 e.preventDefault();

尝试这个更新的 Js 代码:

$(document).ready(function() { 
    $("html").niceScroll();
}); 

// You missed to close it properly above. Syntax error.      

document.getElementById('tl-scroll').addEventListener('mousewheel', function(event) {
  this.scrollLeft -= (event.wheelDelta);
  console.log('I have stopped it');
  return false; // Instead of e.preventDefault(); you just need to use "return false;"
}, false);
$('#tl-scroll').getNiceScroll().hide();

您提供的 fiddle 有控制台问题和jquery库加载问题。我已经修好了,看看我的working fiddle

我建议您使用 HERE 中的 CDN 引用 fiddle 。

希望这有帮助:)

关于javascript - mousemove 上的 e.preventDefault 不适用于 NiceScroll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31399238/

相关文章:

javascript - 从浏览器打印重复线性渐变

javascript - 如何根据 Javascript 中的 2 个条件生成唯一性分组/对其中一列进行求和?

jquery:dblclick 链接调用 - 浏览器后退按钮不起作用?

javascript - 如何将类(class)应用于 child 有所需的两个类(class)的容器?

javascript - evt.preventDefault 在 IE 和 Edge 中无法处理鼠标移动事件,甚至尝试过 evt.returnValue = false;但无法阻止传播

jquery - 禁用页面上所有目标 ="_blank"链接

javascript - polymer 模板自动绑定(bind)是否会破坏模型属性?

javascript - 使用 javascript onclick 替换任何要输入的 html 标签

javascript - 使用 on() 动态创建的 <li> 元素事件附加不起作用

javascript - 如何在覆盖警报功能后停止显示警报框