2010-11-29 9 views
27

Comment puis-je supprimer, puis ajouter le $(window).scroll? Je dois stocker une variable et le réutiliser après un événement.

// 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  
}); 

Merci .

Répondre

63

vous devez stocker la fonction dans une variable puis utilisez off pour le supprimer:

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); 
}); 
+0

merci ... il est bien pour moi – Dee

+1

@Dee - si cela fonctionne pour vous, marquez s'il vous plaît il comme la réponse en cliquant sur l'icône "tick". – Fenton

+3

Je pense que cela devrait être: $ ("# itemUnbind"). Cliquez sur (function() { $ (window) .unbind ("scroll", scrollHandler); }); –