Я использую jQuery v.1.7.1, где метод .live () явно устарел.
Проблема у меня заключается в том, что при динамической загрузке HTML в элемент с помощью:
$('#parent').load("http://...");
Если я попытаюсь добавить событие click после этого, оно не зарегистрирует событие одним из следующих способов:
$('#parent').click(function() ...);
или
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...);
Как правильно достичь этой функциональности? Кажется, он работает только с .live (), но я не должен использовать этот метод. Обратите внимание, что #child является динамически загружаемым элементом.
Спасибо.
.live()
она расскажет вам, как переписать существующие варианты .live()
использования .delegate()
или .on()
(в зависимости от того, используете ли вы версию 1.7+ или нет). Обратите внимание, что если вы добавите обработчик с .click()
«after», как вы упомянули, т. Е. После динамической загрузки элементов, он должен работать - единственная проблема - попытка назначить его .click()
перед динамической загрузкой элементов.