在 jQuery 中,`this.selector` 在 `$(document).on('click', this.selector, ...)` 中是什么意思?

In jQuery, what does `this.selector` mean in `$(document).on('click', this.selector, ...)`?

jQuery plugin

我看到这样的表达:

    $( document ).on( 'click', this.selector, this.startImageLightbox);

我知道 $("div").click(callback) 是什么意思,但是上面的整个表达式,尤其是 this.selector 看起来让我很困惑。

这里的this是什么意思?

有人对此有想法吗?

是jQuery对象的一个​​属性(插件方法里面this指的是jQuery对象),也就是selector用于查找元素。

例如:

$('div').selector -> div
$('div input').selector -> div input
$('div').find('input').selector -> div input

因此,上述代码用于注册一个委托事件处理程序,该事件处理程序针对初始化插件的元素

.on("click", "selector", callback) 对比 .click()

.click() 将处理程序直接附加到选定的选择器。这意味着源自该选择器或其 children 之一的任何事件都将触发回调。

.on("click", "selector", callback) 将处理程序附加到正文。因为这里所有的元素都是children,所以一切都会匹配。但是,第二个参数 "selector" 将过滤掉除此之外的所有内容。如果您在加载完成后向页面添加元素,这将特别有用,因为您不必再​​将处理程序附加到新元素。文档上的处理程序将处理所有事情。

this.selector

此 jQuery 插件将您提供的选择器存储为 属性。 this指的是插件,this.selector指的是那个属性。传递给 .on() 函数的值几乎可以是任何值。例如 ".classname""#elementId".