Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.11.2012, 19:35   #1
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию jquery видит старое дерево

Проблема вот в чем. Вешаю OnClick:

Код HTML:
$("#divId img").click(function(){
     $("#newDivId").append($(this));
});
Картинку в новый див оно перемещает. Но при нажатии на этот элемент что переместили, вызывает $("#divId img"), хотя картинка уже совсем в другом диве!
Abuhamed вне форума Ответить с цитированием
Старый 16.11.2012, 19:39   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

эмм, элемент то переместили, событие клика то тут:
Цитата:
function(){
$("#newDivId").append($(this));
}
и событие то осталось.

или чтото не досказано?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 16.11.2012, 21:23   #3
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Мы ловим событие клика по Картинкам в Старом диве. Хотя мы уже кликаем на Картинку что в Новом диве. Видит как будто оно в старом до сих пор.
Abuhamed вне форума Ответить с цитированием
Старый 17.11.2012, 01:34   #4
Abuhamed
Форумчанин
 
Аватар для Abuhamed
 
Регистрация: 27.01.2010
Сообщений: 330
По умолчанию

Приведу другой пример. С помощью $("#div").load

в id='div' загрузил картинки.

Но при $("img").click(function(){}); - функция не срабатывает, т.к. картинка была загружена в див после загрузки страницы!
Abuhamed вне форума Ответить с цитированием
Старый 17.11.2012, 15:46   #5
MyLastHit
Очень суровый
Участник клуба
 
Аватар для MyLastHit
 
Регистрация: 17.12.2009
Сообщений: 1,988
По умолчанию

Цитата:
Сообщение от Abuhamed Посмотреть сообщение
Приведу другой пример. С помощью $("#div").load

в id='div' загрузил картинки.

Но при $("img").click(function(){}); - функция не срабатывает, т.к. картинка была загружена в див после загрузки страницы!
Читаем про делегирование. В данном случае делегировать через .live() нужно. Или вы массиву кнопок и ссылок задаете .click() как учит Попов?
Ненавижу быть как все, но люблю, чтобы все были как я.
MyLastHit вне форума Ответить с цитированием
Старый 17.11.2012, 15:56   #6
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Вы вешаете событие на нод-узел, а не на селектор css. Курите матчасть.
Alar, верни репу!
Naive вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
заезженное старое, но оч надо sha69 Microsoft Office Excel 9 23.11.2011 20:31
Как вернуть старое разрешение экрана при критическом завершении программы? Asker13 Общие вопросы Delphi 4 11.05.2011 20:05
И куда же спихнуть свое старое железо?О_о CodeExpert Свободное общение 12 30.10.2010 00:02
Заменить старое значение на новое D.O.G БД в Delphi 11 01.09.2010 09:46