2010-03-06 5 views
0

Je ne sais pas ce que je fais mal avec .live()Simple question jQuery à propos .live()

$(function(){ 
     var wrapper = $('#trailer_wrapper'); 
     var button = $('h2 a'); 

     button.click(function() { 
      wrapper.fadeIn(2000); 
      button.addClass('selected'); 
      button.text('close ×'); 
      return false; 
     }); 

     $('h2 a.selected').live('click', function() { 
      wrapper.fadeOut(2000); 
      $(this).removeClass('selected'); 
      button.text('Watch Trailer »'); 
      return false; 
     }); 
    }); 
+1

Je ne sais pas non plus, d'autant plus que vous ne dites pas ce que le problème est! ... Oh, attendez; peut-être que je vois ... – Pointy

Répondre

5

Eh bien votre gestionnaire "cliquez sur" (le "direct" one) va encore à courir, et il va courir avant le "live" gestionnaire.

juste essayer d'avoir le gestionnaire de clic:

button.click(function() { 
    if ($(this).is('.selected')) { 
    wrapper.fadeOut(2000); 
    $(this).removeClass('selected'); 
    button.text('Watch Trailer »'); 
    } 
    else { 
    wrapper.fadeIn(2000); 
    button.addClass('selected'); 
    button.text('close ×'); 
    } 
    return false; 
}); 
+0

Correct!, mais je suis hors des upvotes pour aujourd'hui, je ne peux pas croire que j'ai jeté un coup d'oeil complètement dessus, bonne prise. –

+0

Ouais, je ne pensais pas totalement à celui-ci. Merci d'avoir éclairci ça. – michaelespinosa