2012-04-05 65 views
1

我無法讓我的下拉菜單仍然工作後,我清空它的內容並追加新的。JQuery單擊附加元素不工作下拉

這裏是我遇到的麻煩(嘗試最初選擇壁紙的尺寸,然後在頂部選擇從5不同的壁紙,然後再試一次)的頁面: http://www.nba.com/warriors/wallpapertest_020.html

在$(文件)。就緒我有:

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

這適用於第一次,但當我更改下拉的內容,它停止工作。有沒有辦法調用.ready()函數來識別新增加的內容?或者更好的方法來做到這一點?

我也嘗試委託()像這樣,但會讓其停止運作完全:

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

任何援助將不勝感激:)

+0

有無你試過使用.on()? – 2012-04-05 19:37:47

+0

@Sven問題仍然存在:[(nba.com/warriors/wallpapertest_021.html)] – dougmacklin 2012-04-05 19:49:46

回答

1

嘗試使用on()

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

問題仍然存在:[(http://www.nba.com/warriors/wallpapertest_021.html)] – dougmacklin 2012-04-05 19:48:48

+0

嘗試發佈一些相關的HTML。我使用的筆記本電腦速度較慢,幾乎無法管理調試頁面。 – rgin 2012-04-05 19:56:33

+1

嗨我使用live():'$(「。dropdown dd ul li a」)。live('click',function(){'。我的印象是使用live()不好儘管... – dougmacklin 2012-04-05 20:02:26