Как привязать функцию к элементу, загруженному через Ajax

У меня есть пара Div на моей странице с CSS class = & quot; hello & quot; Далее я использую Ajax, чтобы получить еще несколько Div с помощью CSS-класса = & quot; hello & quot; У меня есть кусок кода, который вызывается по событию Click элемента Div следующим образом:

$('.hello').click(function(){
  alert("Hello Clicked");
})

Он отлично работает с Div, которые присутствуют на моей странице с самого начала, но не работает с Div, загруженными с помощью Ajax. Есть ли что-то, что мне нужно сделать, чтобы связать этот маленький кусочек кода с только что загруженными Div?

 Ilia Frenkel12 апр. 2012 г., 03:26
Я согласен с Джозефом. Перейдите по ссылке, которую он предоставил, и прочитайте делегирование мероприятия.

Ответы на вопрос(1)

Решение Вопроса

.on привязать обработчик к другому элементу, который уже присутствует во время выполнения привязки, как, например,<body>, илиdocument и пусть он обнаруживает события детей. но в идеале вы должны привязать его к ближайшему общему родителю загружаемого контента.

демонстрация

//bind to the body a "click" handler for elements that have class names of "hello"
$('body').on('click','.hello',function(){
  alert("Hello Clicked");
})
 Raouf Athar12 апр. 2012 г., 03:42
Я получил сообщение об ошибке TypeError: Object [object Object] не имеет метода «на». Я предположил, что я использую старую версию JQuery, и я был прав. Я обновился с 1.6.2 до 1.7.2 и теперь он работает. Благодарю.

Ваш ответ на вопрос