Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   $().click(function() не отрабатывает на добавленный программно элемент (https://javascript.ru/forum/misc/29742-%24-click-function-ne-otrabatyvaet-na-dobavlennyjj-programmno-ehlement.html)

GTAlex 09.07.2012 17:34

$().click(function() не отрабатывает на добавленный программно элемент
 
Собственно есть обработчик
$('.g-filter td ul li').click(function(){ ... }
если элемент .g-filter td ul li добавить программно - на нём почему-то метод .click(function() не отрабатывает

http://www.klimatikum.ru/gt/filt2.html
тут элемент добавлял через append
$('#gtype').append('<li class="" rel="8816">Test</li>');

http://www.klimatikum.ru/gt/filt.html

а тут список добавил через .html()
$('#gtype').html('<li class="" rel="">ВСЕ</li><li>....</li>....<li>....</li>');

на всём добавленном программно - клик не отрабатывает :(

при выборе МОДЕЛЬНОГО РЯДА должен меняться ТИП (далее при выборе ТИПа будет меняться СЕРИЯ)
это будет подгрузкой через Ajax ... но я даже без Ajax-a не могу разобраться почему клик перестаёт работать

vadim5june 09.07.2012 17:45

нужно использовать live
$(".g-filter td ul li").live("click", function(){ alert("Goodbye!"); });
как написал ниже devote live считается устаревшим

devote 09.07.2012 17:48

Цитата:

Сообщение от vadim5june
нужно использовать live

live устаревший метод, и будет удален. Использовать нужно .on()
$(document).on("click", ".g-filter td ul li", function(){ alert("Goodbye!"); });


Часовой пояс GMT +3, время: 10:54.