2012-04-05 2 views
1

У меня возникли проблемы с тем, что мое раскрывающееся меню все еще работает после того, как я опустошу его содержимое и добавлю новые.JQuery Нажмите на добавленные элементы, не работающие для выпадающего списка

Вот страница у меня возникли проблемы с (попробуйте выбрать разрешение обои на начальном этапе, а затем выбрать различные обои от 5 сверху и попробуйте еще раз): http://www.nba.com/warriors/wallpapertest_020.html

В $ (документ) .ready у меня есть:

 $(".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

Have вы пытались использовать .on()? –

+0

@Sven Проблема все еще сохраняется: [(nba.com/warriors/wallpapertest_021.html)] – dougmacklin

ответ

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

+0

попробуйте опубликовать несколько соответствующий html. Я нахожусь на более медленном ноутбуке и едва ли могу отлаживать страницу. – rgin

+1

эй, я получил его для работы, используя live(): '$ (". Dropdown dd ul li a "). Live ('click', function() {'. У меня создалось впечатление, что использование live() не является хорошим практика, хотя ... – dougmacklin

Смежные вопросы