У меня проблема с тем, что мои вещи jQuery не работают после того, как div, который включает в себя элементы, которыми управляет мой код jQuery, перезагружается ajax. Функция jQuery .live помогла мне в том, что по крайней мере все мои события запускаются. Однако функции, такие как .text(), все еще не работают. Например.jQuery .live() - функциональность для других методов jQuery, таких как .text()
$('#idOfElementBeingInDivWhichIsReloadedByAjax').text('New text');
Есть ли у кого-нибудь предложения, как справиться с этой проблемой?
Редактировать: Проблема в том, что веб-сайт, на котором я работаю, загружает содержимое своей страницы с помощью ajax при нажатии на элемент навигации. Все функции jQuery работают, когда сайты посещаются в первый раз. Однако во второй раз DOM перезагружается, а jQuery по-прежнему использует исходный DOM, поэтому методы типа .text() больше не отображают изменений. Как упоминалось выше, метод .live() помог мне в том, что по крайней мере события все еще срабатывают после второго вызова определенной страницы.
Необходимо больше контекста, не могли бы вы больше кода? По крайней мере, метод обратного вызова вашего ajax-вызова –
что такое тип idOfElementBeingInDivWhichIsReloadedByAjax? – Adil
Вы можете просто запустить этот код в обратном вызове ajax (не обязательно в самой функции обратного вызова, конечно), когда это необходимо. Только события должны быть «живыми» ... Реализация «live» не имеет ничего общего с отслеживанием новых элементов по мере их создания, что вам нужно будет делать, если вы хотите, чтобы другие методы были «живыми», .text'. – Esailija