当其中一个选择器是“窗口”时组合选择器

Combining selectors when one of the selectors is 'window'

本文关键字:选择器 窗口 组合 一个      更新时间:2023-09-26

如果我想用 class="foo"id="bar"检测div 上的滚动事件,我可以使用以下语法:

$('div.foo, div#bar').scroll(function(){ ... });

如果我想检测窗口滚动,我会这样做:

$(window).scroll(function(){ ... });

但是我如何指定我要检测窗口上的scroll事件或带有class="foo" div元素上的事件?我试过这个:

$(window, ".foo").scroll(function(){ ... });

它不会导致任何错误,但它只侦听window上的scroll事件,这表明它只是忽略了第二个意外的参数。

由于不能使用字符串直接选择窗口,因此您可以使用add()将其与两个div元素合并。试试这个:

$('div.foo, div#bar').add(window).scroll(function(){ 
    // ... 
});