Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   $('....').click(function() не отрабатывает на динамически добавленный элемент (https://javascript.ru/forum/dom-window/30367-%24-%27-%27-click-function-ne-otrabatyvaet-na-dinamicheski-dobavlennyjj-ehlement.html)

GTAlex 02.08.2012 07:08

$('....').click(function() не отрабатывает на динамически добавленный элемент
 
В список добавляю элемент - на него клик не отрабатывает :(

глянуть можно тут

нужно кликнуть по одному из значений - появится позиция TEST, кликнув по которой уже ничего не делается :(

вот код

Код:

<html><head><script type="text/javascript" src="./jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('.g-filter td ul li').click(function(){
        alert("appent TEST to list");
        $('#gmodel').append('<li class="" rel="8816">Test</li>');
    });   
});
</script>
</head>
<body><table class="g-filter"><tbody><tr><td>
<ul id="gmodel">
<li rel="8041">Panasonic 2010</li>               
<li rel="8042">Panasonic 2011</li>               
</ul>
</td></tr></tbody></table></body></html>

help !

Serg_pnz 02.08.2012 07:42

<!DOCTYPE HTML>

<html><head><script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('.g-filter td ul').on('click', 'li', function(){
	alert("appent TEST to list");
	$('#gmodel').append('<li class="" rel="8816">Test</li>');
    });     
});
</script> 
</head>
<body><table class="g-filter"><tbody><tr><td>
<ul id="gmodel">
<li rel="8041">Panasonic 2010</li>		
<li rel="8042">Panasonic 2011</li>		
</ul>
</td></tr></tbody></table></body></html>


Если jq ниже 1.7, то строка должна выглядеть так
$('.g-filter td ul li').live('click', function(){


ссылки по сабжу:
http://jquery.page2page.ru/index.php5/On (пункт "Прямая и делегированная обработка (параметр selector)")
http://jquery.page2page.ru/index.php...%D0%B8%D0%B 9

в действии:
http://learn.javascript.ru/play/CfULqb

GTAlex 02.08.2012 08:29

версия 1.7.2 но всё равно не работало,
а вот с
$('.g-filter td ul li').live('click', function(){

начало работать "на ура"

СПАСИБО!

Deff 02.08.2012 13:29

Цитата:

Сообщение от GTAlex
версия 1.7.2 но всё равно не работало,

:) Наверно конфликт библ - где то стоит повторная
http://hostjs-mybb2011.narod.ru/filt3.htm


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