web-dev-qa-db-ja.com

jQueryは$(window).scroll(function()?を追加および削除しますか?

$(window).scrollを削除してから追加するにはどうすればよいですか?変数を保存し、何らかのイベントの後に再利用する必要があります。

// here i store my var
$(window).scroll(function(){
    myScroll = $(window).scrollTop()  
});

$("#itemUnbind").click(function(){
    // here i need to remove the listener        
});

$("#itemBind").click(function(){
    // here i need to add listener again     
});

ありがとうございました。

30
Dee

関数を変数に保存してから off を使用して削除する必要があります。

var scrollHandler = function(){
    myScroll = $(window).scrollTop();
}

$("#itemBind").click(function(){
    $(window).scroll(scrollHandler);
}).click(); // .click() will execute this handler immediately

$("#itemUnbind").click(function(){
    $(window).off("scroll", scrollHandler);
});
68
Andy E