Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 21.02.2013, 15:24
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Как заставить скрипт обновить свои знания о dom?
Доброго времени суток!

Есть каталог товаров и слайдер новых товаров, все тянется из бд и подгружается на страничку аяксом.

Возникла проблема, если кликнуть по ссылке на подгруженном контенте, то ничего не происходит, хотя скрипт выполняется.

При проверке алертом $(this).attr('href') ловлю undefined.

Получается, что скрипт не подозревает о существовании элементов, которые я подгрузил.

Как это исправить?

Зы
пока что допер только до ужасного костыля, который со всем подгружаемым контентом загружал скрипт, а потом удалял все копии этого скрипта
__________________
Научу себя плохому
Ответить с цитированием
  #2 (permalink)  
Старый 21.02.2013, 15:33
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

l-liava-l,

ну тут два варианта, первый ты уже назвал, второй:

вешать событие на подгружаемый блок заочно
Ответить с цитированием
  #3 (permalink)  
Старый 21.02.2013, 15:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,070

on
Ответить с цитированием
  #4 (permalink)  
Старый 21.02.2013, 15:41
Аватар для dmitry111
Профессор
Отправить личное сообщение для dmitry111 Посмотреть профиль Найти все сообщения от dmitry111
 
Регистрация: 26.03.2012
Сообщений: 823

Сообщение от l-liava-l
Получается, что скрипт не подозревает о существовании элементов, которые я подгрузил.
конечно не подозревает.
Можно вешать событие на контейнер, в котором будут подгружены данные и фильтровать событие по критериям.


Например контейнер с id="container" в которвый подгружаются изображения с class="img"

Если составить скрипт так:

document.getElementById("container").onmousedown = function (e) {
    if (e.target.className === "img") {
        alert("boom");
    }
};


то сколько бы ты картинок не подгрузил они все равно будут реагировать на это событие
Ответить с цитированием
  #5 (permalink)  
Старый 21.02.2013, 16:09
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

Цитата:
Можно вешать событие на контейнер, в котором будут подгружены данные и фильтровать событие по критериям.
дык задача состоит в том, чтобы отобрать атрибут у подгруженного элемента.

рони,
я пробую вот так, но ничего не изменилось.
$("container a").on("click", function() {
$("container").load($(this).attr('href'));

});
__________________
Научу себя плохому
Ответить с цитированием
  #6 (permalink)  
Старый 21.02.2013, 16:13
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

l-liava-l,
Нун определить ближайшую неперезагружаемую обертку
типо
$("#Wrap"); и делегировать событие
Тогда
$("#Wrap").on("click", "container a", function() {
    $(this).attr('href');
});

Поправил

Последний раз редактировалось Deff, 21.02.2013 в 17:12.
Ответить с цитированием
  #7 (permalink)  
Старый 21.02.2013, 16:21
Профессор
Отправить личное сообщение для l-liava-l Посмотреть профиль Найти все сообщения от l-liava-l
 
Регистрация: 14.03.2012
Сообщений: 1,808

ВАЙ заработало!!!))
Благодарю!

ps
Deff,
ты там скобочкой опечатался
__________________
Научу себя плохому
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как заставить Highcharts обновить свои размеры fr0d jQuery 2 18.07.2012 17:48
Как обновить PHP в XAMPP до версии 5.4.0 и выше? jsuse Серверные языки и технологии 1 02.03.2012 21:05
Как сделать так чтобы один скрипт работал во многих элементах Darkhan Общие вопросы Javascript 2 16.02.2012 17:13
как удалить элемент в DOM? czp Общие вопросы Javascript 11 17.12.2011 20:55
не работает скрипт как ссылка Abraham jQuery 31 14.06.2011 03:04