e.preventDefault on mousemove不能使用niceScroll

时间:2015-07-14 06:28:18

标签: 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

请帮我清除此错误。

1 个答案:

答案 0 :(得分:1)

您只需使用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();

你的小提琴有控制台问题和jquery库加载问题。我修好了,看看我的working fiddle

我建议你使用来自HERE的CDN参考资料。

希望这会有所帮助:)