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

时间:2016-02-26 15:16:02

标签: javascript jquery jquery-selectors

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

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

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

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

但是,我如何指定我想在窗口上检测scroll个事件,或在div elementss上检测class="foo"?我试过这个:

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

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

1 个答案:

答案 0 :(得分:10)

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

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