js / jQuery:停止事件监听器

时间:2015-10-09 19:44:43

标签: javascript jquery events listener handler

我有多个DOM元素。当每个窗口都在窗口中可见时,我会在该元素上触发动画。

每个元素都将窗口滚动事件注册到同一个事件处理程序,向该处理程序传递元素的ID和动画的特定于事件的回调函数。

此单个事件处理程序测试元素是否在屏幕上,如果是,则触发回调。

但是......即使在触发回调之后,它仍然会监听窗口滚动事件。如何关闭滚动监听器? jQuery“off”没有用。

$(window).on('scroll', function () {
    sharedFunctionsModuleName.initialAnimationWhenChartBottomVisible({
        chartID: chartID,
        callbackFunction: thisWebpageModuleName.animationFunctionName
    });
});

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

只使用一个事件而不是

$(window).one('scroll', function () {
    sharedFunctionsModuleName.initialAnimationWhenChartBottomVisible({
        chartID: chartID,
        callbackFunction: thisWebpageModuleName.animationFunctionName
    });
});

这在第一次被解雇后自动取消绑定

文档为here