2012-04-05 3 views
1

Ich habe Probleme, meine Dropdown-Menü immer noch funktionieren, nachdem ich es Inhalt entleeren und neue anfügen. HierJQuery Klicken Sie auf Angehängte Elemente, die nicht für Dropdown funktionieren

ist die Seite das ich habe Probleme mit (versuchen, eine Tapete Auflösung zunächst auswählen und dann eine andere Tapete aus der 5 oben auswählen und versuchen Sie es erneut): http://www.nba.com/warriors/wallpapertest_020.html

In $ (document) .ready ich habe:

 $(".dropdown dd ul li a").click(function() { 
      var text = $(this).html(); 
      $(".dropdown dt a span").html(text); 
      $(".dropdown dd ul").hide(); 
     }); 

Dieses feine zum ersten Mal arbeitet herum, aber wenn ich den Inhalt der Dropdown ändern sich, es nicht mehr funktioniert. Gibt es eine Möglichkeit, die Funktion .ready() aufzurufen, um die neuen Zusätze zu erkennen? Oder ein besserer Weg, dies zu tun?

ich auch versucht, Delegierten() wie so, aber das hält sie von dem Funktionieren völlig:

 $(".dropdown dd ul li").delegate('a', 'click', function() { 
      var text = $(this).html(); 
      $(".dropdown dt a span").html(text); 
      $(".dropdown dd ul").hide(); 
     }); 

Jede Hilfe sehr geschätzt :)

+0

Have mit Sie haben versucht, .on() zu verwenden? –

+0

@Sven Das Problem besteht weiterhin: [(nba.com/warriors/wallpapertest_021.html)] – dougmacklin

Antwort

1

versuchen würde on()

$(".dropdown dd ul li a").on('click', function() { 
      var text = $(this).html(); 
      $(".dropdown dt a span").html(text); 
      $(".dropdown dd ul").hide(); 
     }); 
+0

Das Problem besteht immer noch: [(http://www.nba.com/warriors/wallpapertest_021.html)] – dougmacklin

+0

versuchen, einige zu veröffentlichen relevantes HTML. Ich bin auf einem langsameren Laptop und kann kaum die Seite debuggen. – rgin

+1

hey ich habe es mit live(): '$ (". Dropdown dd ul li a "). Live ('click', function() {'. Ich hatte den Eindruck, dass die Verwendung von live() nicht gut ist übe aber ... – dougmacklin

Verwandte Themen