如何禁用小滚动条jQuery插件

How to disable tiny scrollbar jQuery plugin?

本文关键字:jQuery 插件 滚动条 何禁用      更新时间:2023-09-26

如何禁用页面上Tiny Scrollbar插件的所有实例?这是一个要测试的JSBin。

上下文:我正在构建一个网络应用程序,它将这个插件用于桌面版本的所有滚动条,但我想禁用它,并在移动版本中使用本地滚动条。

试试这个:

$(document).ready(function(){
     if(!(navigator.userAgent.match(/Android/i)
     || navigator.userAgent.match(/webOS/i)
     || navigator.userAgent.match(/iPhone/i)
     || navigator.userAgent.match(/iPad/i)
     || navigator.userAgent.match(/iPod/i)
     || navigator.userAgent.match(/BlackBerry/i)
     || navigator.userAgent.match(/Windows Phone/i)
     )){
         $('#scrollbar1').tinyscrollbar();
     }
});

这个问题将帮助您检测它是否是移动浏览器,请阅读关于注意事项的评论。

在jQuery中检测移动设备的最佳方法是什么?

我发现这个页面正在寻找一种销毁/完全删除jquery插件的方法(特别是tinyscrollbar)。因此,关键字是有意义的,所选的答案符合专栏的要求。但是关于"如何禁用*jQuery插件",这里没有完整的答案。

@yMed两次被否决,但票数接近。。

最后,我在下面找到了答案。。

var destroyTinyScrollBar = function($elem) {
    var eventNamespace = 'tinyscrollbar',
        isInstantiated  = !! $.data($elem.get(0));
    if (isInstantiated) {
        $.removeData($elem.get(0));
        $elem.off(eventNamespace);
        $elem.unbind('.' + eventNamespace);
    }
};

更好的解释是,http://ub4.underblob.com/remove-jquery-plugin-instance/

看起来Tiny Scrollbar插件会生成自己的标记来模拟"原生"滚动条。

你可以做的是检测设备是否是移动的,然后隐藏滚动条生成的标记。您可以通过jQuery或css来实现这一点。例如:

$('#scroll-bar').hide();

<div id="scroll-bar" style="display:none;">...

为了在中显示视口的本地浏览器滚动条,请将溢出设置为自动并指定高度。例如:

<div id="view-port" style="height:200px; overflow:auto;">...

使用:

$(selector).unbind("tinyscrollbar");

示例:

$("#parent").unbind("tinyscrollbar");