javascript - 使用 slimscroll 时浏览器滚动条有时不起作用

标签 javascript jquery jquery-ui web slimscroll

我正在使用jquery.slimscroll替换浏览器的 native 滚动条。

我发现有时使用它会导致浏览器的 native 滚动条不响应鼠标滚动。

这样一个案例: 与元素上可排序的 jqueryui 一起使用。 不知何故,重新渲染元素后,浏览器滚动条停止工作。 我可以在每个浏览器中一致地重现它,并且我编写了一个 jsfiddle 来重现它:

Fiddle

function rerender(){
$("#wrapper").html($("#content").html());
$("#container").sortable({axis:"y",stop:function(){
    rerender();
}});
$("#container").slimScroll(
    {railVisible:true, height:"70px",start:"bottom"});
};

rerender();

其他场合也会出现这种情况,所以这个问题可能与jqueryui sortable无关。

有人遇到类似的问题吗?您是如何解决的?

最佳答案

我认为问题在于 slimScroll 处理滚轮事件的方式 - 它附加到窗口元素,因此当您重新创建包装器 html 时,您会删除以前的可滚动元素,但鼠标滚轮处理程序仍然存在并阻止窗口滚动。因此,理论上您必须在更新包装器 html 之前销毁自定义滚动条,然后重新初始化滚动条。但实际上 slimScroll 没有 destroy 方法。

还有很多其他滚动条插件您可以尝试:jQuery Scrollbar , jScrollPane , Malihu Custom Scrollbar和其他...您可以比较它们的功能 here

关于javascript - 使用 slimscroll 时浏览器滚动条有时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23166345/

相关文章:

jquery - jquery highcharts 中的背景颜色变化

jquery-ui - 在 jquery 自动完成中重写 _rendermenu 会引发 js 错误

javascript - jquery动态添加div标签并在其中添加元素

javascript - append 到查询字符串 JavaScript

Javascript 对象按键自行排序

如果可放置元素移动,jQuery UI 可放置点击框不会更新

javascript - 在选择的 jQuery UI 选项卡上显示/隐藏某些 div

javascript - React Array Map 与 Firebase 问题

javascript - Highcharts - 在 x 轴和 y 轴上隐藏系列 "points"(标签)

jquery - 计算项目 jquery 模板