jQuery Simplebar 插件不适用于 class 元素

jQuery Simplebar plugin doesn't work with class element

使用Simplebar Plugin I try to create scrollbar with class element like this documents。但实际上这个插件不起作用。

HTML:

<div class="simple-bar">
  //data
</div>

JS:

$('.simple-bar').each(element, new SimpleBar());

DEMO HERE

$('.myElements').each(element, new SimpleBar());

这是 SimpleBar 文档中的示例,您的问题与两个相关。文档中的这个例子是有缺陷的。

jQuery中的each()有两种形式。有 jQuery.each 方法和 jQuery.fn.each 方法,它是第一个方法的包装器。不同之处在于 jQuery.fn 方法旨在作用于 jQuery 的实例,其中包含结果堆栈(例如 $(...) 表达式的结果)。 jQuery.each 不是为了对现有实例进行操作而编写的,而是希望同时提供要操作的元素以及与需要完成的工作相关的回调。

鉴于此,他们的文档显示的用法是错误地尝试使用 jQuery.fn.each,就好像它是 jQuery.each 形式一样。

$('.simple-bar').each((index, element) => new SimpleBar(element));`

此表单正确使用了 jQuery.fn.each 版本,仅为其提供回调,用于对 jQuery 实例中的结果堆栈执行工作。