Как заставить скрипт обновить свои знания о dom?
Доброго времени суток!
Есть каталог товаров и слайдер новых товаров, все тянется из бд и подгружается на страничку аяксом. Возникла проблема, если кликнуть по ссылке на подгруженном контенте, то ничего не происходит, хотя скрипт выполняется. При проверке алертом $(this).attr('href') ловлю undefined. Получается, что скрипт не подозревает о существовании элементов, которые я подгрузил. Как это исправить? Зы пока что допер только до ужасного костыля, который со всем подгружаемым контентом загружал скрипт, а потом удалял все копии этого скрипта |
l-liava-l,
ну тут два варианта, первый ты уже назвал, второй: вешать событие на подгружаемый блок заочно |
|
Цитата:
Можно вешать событие на контейнер, в котором будут подгружены данные и фильтровать событие по критериям. Например контейнер с id="container" в которвый подгружаются изображения с class="img" Если составить скрипт так:
document.getElementById("container").onmousedown = function (e) {
if (e.target.className === "img") {
alert("boom");
}
};
то сколько бы ты картинок не подгрузил они все равно будут реагировать на это событие |
Цитата:
рони, я пробую вот так, но ничего не изменилось.
$("container a").on("click", function() {
$("container").load($(this).attr('href'));
});
|
l-liava-l,
Нун определить ближайшую неперезагружаемую обертку типо $("#Wrap"); и делегировать событие Тогда
$("#Wrap").on("click", "container a", function() {
$(this).attr('href');
});
Поправил |
ВАЙ заработало!!!))
Благодарю! ps Deff, ты там скобочкой опечатался |
| Часовой пояс GMT +3, время: 12:42. |