Нужен совет по jquery ajax
1.
finall2 (27.05.2012 / 18:22)
Использую jquery.form и модальные окна.
А теперь ситуация :
Есть страница A и страница Б.
На странице А находится форма, после её заполнения и нажатия на кнопку, загружается код модального окна(Страница Б) на Страницу А и открывается само окно.
Теперь дальше. На Странице Б есть ссылка с id=copy. На Странице А есть код, который при нажатии на ссылку с id=copy делает определенное действие (Назовем его "JS 1). А теперь сама проблема. Если разместить ссылку стразу на Странице А, то действие JS 1 выполняется. А если загрузить ссылку аяксом со Страницы Б, то действие не выполняется.
Добавлено через 05:31 сек.
Нужно, чтоб действие выполнялось, и в том случае, если ссылка загружалась со Страницы Б.
2.
ramzes (27.05.2012 / 18:50)
Решение не скажу, скажу причину.
Эвенты загружаются во время загрузки страницы (к тому времени как у тебя подгружается страница Б, эвент уже запомнил все нужные элементы, и этой ссылки в них нет).
3.
Кевин Митник (27.05.2012 / 20:53)
#2 все верно. при подгрузке новых DOM элементов их не видит javascript. а если использовать live(), он то видит все? как думаешь?
4.
Богдан (27.05.2012 / 21:33)
да. тут либо использовать live() либо повторно вешать событие после подгрузки элемента
5.
Кевин Митник (27.05.2012 / 22:09)
#4 но оно идентично? если да, то для экономии кода можно live
6.
Богдан (27.05.2012 / 22:44)
5. Принцип работы разный
http://blog.fxposter.org/2010/06/16/jquery-live-method/
Добавлено через 02:04 сек.
Более подробно на хабре есть
http://habrahabr.ru/post/64029/
7.
finall2 (28.05.2012 / 00:27)
Всем спасибо. Вопрос решил.
Были затруднения т.к. live не со всеми событиями работает и (вроде как) выполняется каждый раз при выполнении события.
Использовал такой код
$('#copy1').one('mousemove', function(){});
Наиболее подходит под поставленные задачи.
URL:
https://visavi.net/topics/32225