单击事件后滚动侦听器上的jQuery

Cyb*_*kie 3 javascript jquery jquery-events

在单击事件后激活滚动侦听器的正确方法是什么?

我目前正在使用:

$('.button').click(function (event) {
   $(window).on("scroll", someFunction);
}

someFunction = function() {
   //do stuff 
   $(window).off("scroll"); //disable scroll listener
}
Run Code Online (Sandbox Code Playgroud)

在单击事件上,我启用了运行someFunction的滚动侦听器.该函数完成后填充并禁用滚动侦听器.单击时再次启用滚动侦听器.

我担心的是我做得不对.请指教!

注意:滚动侦听器无法无限期运行.它从点击开始,必须在myFunction结束时完成.

注意:我不会尝试检测用户何时停止滚动..

Ser*_*sov 6

你可以使用jQuery .one():

$('.button').on('click', function() {
    $(window).one('scroll', someFunction);
});
Run Code Online (Sandbox Code Playgroud)