当其中一个选择器是 'window' 时组合选择器

Combining selectors when one of the selectors is 'window'

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

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

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

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

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

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

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

由于无法使用字符串直接选择 window,您可以使用 add() 将其与两个 div 元素合并。试试这个:

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