Обработчик onclick не работает после внедрения jquery AJAX html - PullRequest
2 голосов
/ 21 июня 2011

Я вставляю какой-то HTML с помощью ajax на мою страницу, но обработчик onclick на части этого внедренного HTML, похоже, не работает ...

в основном это изображение ...

< img class="close_row" src="img/close.gif"/>

мой jquery выглядит как ...

$('.close_row').click(function() {
    // some code to close the row
});

оригинальная функция, открывающая строку и вставляющая html, работает нормально, я что-то пропускаю здесь?

Ответы [ 2 ]

6 голосов
/ 21 июня 2011

Используйте .delegate() вместо.

delegate() был введен для преодоления недостатков live(), и live() был бы полностью удален, если бы не тот факт, что он сломал бы много кода.

Различия между live() и delegate(): http://net.tutsplus.com/tutorials/javascript-ajax/quick-tip-the-difference-between-live-and-delegate/

API: http://api.jquery.com/delegate/

3 голосов
/ 21 июня 2011

Вы должны будете использовать .live:

$('.close_row').live('click', function() { // some code to close the row });

.click, связывает событие со всеми текущими элементами, тогда как .live автоматически связывает событие с новымсозданные элементы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...