2009-06-26 12 views
0

J'ai un bouton et a écrit deux fonctions pour le même boutonUnbind ne fonctionne pas dans jQuery

Comme initialement

$("#FieldSetting .button").eq(0).unbind('click'); 
    $('.button').eq(0).click(function(){alert('initally');}) 

plus tard dans la jQuery lorsque je clique sur un div j'ai écrit une autre fonction à mettre en œuvre par le même bouton que

$("#fb_contentarea_col1down21 div").live("click", function(){ 
     $("#FieldSetting .button").eq(0).unbind('click'); 
     $('.button').eq(0).click(function(){alert("later");}) 
}); 

Dans les deux cas, je n'ai pas lié les événements, mais cela n'a pas fonctionné.

Ma première fonction pour le bouton fonctionne initialement mais après que j'utilise la deuxième fonction, ma première fonction ne fonctionne plus; la deuxième fonction ne s'est jamais dissociée.

Veuillez suggérer comment le résoudre.

+0

Je ne suis pas d'accord avec tout le texte de 'Comment poser des questions à la manière intelligente', mais cela est pertinent: http://catb.org/~esr/faqs/smart-questions.html#id306810 –

+0

@OP vous devriez accepter la réponse de Jonathan – CharlieMezak

Répondre

6

Si vous exécutez "unbind" à la ligne 1, puis que vous attachez un nouvel événement à la ligne 10, l'activité la plus récente prendra autorité. La signification, quoi que vous ayez fait en dernier lieu, est le Roi.

Dans ce cas, vous avez ajouté la fonctionnalité .click() longtemps après avoir exécuté "unbind". Unbind ne ressemble pas à live, cela ne vous empêchera pas de lier un nouvel ensemble de fonctionnalités à un élément - il ne déliera que tout ce qui a été lié à ce point jusqu'à ce point.

Questions connexes