这个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/