2012-04-05 63 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