Я використовую jQuery v.1.7.1, де метод .live () очевидно застарілий.
Проблема, яка у мене виникає, полягає в тому, що при динамічному завантаженні HTML в елемент за допомогою:
$('#parent').load("http://...");
Якщо я спробую після цього додати подію натискання, вона не реєструє подію, використовуючи один із цих способів:
$('#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()"згодом", як ви згадували, тобто після динамічного завантаження елементів, він повинен працювати - єдину проблему намагаються призначити .click() перед динамічним завантаженням елементів.