我想检查滚动事件是否绑定到jquery中的window元素。基本上,我想看看是否有人做了这样的事情:

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


在对SO进行了一些查找之后,我发现了更常见的问题,例如if event already exist on an element和有效的解决方案。

但是当我尝试使用$.data( $(window).get(0), 'events' )时,我得到了undefined。也提出了类似的解决方案here

那么检查滚动事件的正确方法是什么?

最佳答案

我想这就是你想要的:

$._data(window).events.scroll


如果没有此类事件绑定到undefined对象,则返回window

例:

JSFiddle

alert($._data(window).events.scroll); // Should return 'undefined'

$(window).scroll(function() {
    alert('a');
});

alert($._data(window).events.scroll); // Should return 1 object

$(window).scroll(function() {
    alert('b');
});

alert($._data(window).events.scroll); // Should return 2 objects

关于javascript - 如何检查滚动绑定(bind)是否已添加到窗口?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22436211/

10-11 09:07