Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Получить доступ к элементу полученному через ajax (https://javascript.ru/forum/jquery/14361-poluchit-dostup-k-ehlementu-poluchennomu-cherez-ajax.html)

Neokortex 12.01.2011 22:18

Получить доступ к элементу полученному через ajax
 
Привет. Есть такой код:
$.ajax({
		url:myUrl,
		data:{'first':1, 'second':2},
		success:function(data){
			//alert('ajax запрос выполнен');
			$("#result-div", top.document).html(data);
		}
	});

Здесь мы получаем ответ и выводим его в #result-div. Это понятно.
А если в этом ответе содержится такой код:
<input type="button" value="нажми на меня" id="my-button" />

И при нажатии на кнопку должно выскакивать сообщение. Вот не могу получить доступ к этому элементу, если просто
$("#my-button", top.document).click(function(){
	alert('кнопку нажали');
});

то не получается

Amphiluke 12.01.2011 22:37

Уже много раз поднималась тема. Есть поиск.
$("#my-button", top.document).live("click", function(){ 
    alert('кнопку нажали'); 
});


http://api.jquery.com/live/

monolithed 12.01.2011 23:26

Amphiluke, на всякий))
лучше delegate() использовать, он не перебирает весь DOM, в отличии от live();
Цитата:

Сообщение от Amphiluke
Уже много раз поднималась тема

:)

Neokortex 13.01.2011 00:55

да я бы с удовольствием, только не знаю как запрос поисковый сформировать.

то что я спрашивал - ничего не выдает

спасибо вам

Neokortex 14.01.2011 00:20

alert почему то срабатывает несколько раз (в мозиле 7 раз) из-за чего это может быть?

Neokortex 14.01.2011 02:34

Уже три раза выполняется код внутри.
Вот этот код выводит три раза текст после кнопки.
$("#result-div", top.document).delegate("#my-button", "click", function(){
	$(this).after("<p>Another paragraph! delegate</p>");
});

В чем может быть проблема? Подскажите пожалуйста.

x-yuri 14.01.2011 04:13

а сколько ты обработчиков повесил этот код запустил?

Neokortex 14.01.2011 04:26

один раз нажимаю на кнопку

x-yuri 14.01.2011 04:42

дай ссылку на страничку

Neokortex 14.01.2011 15:10

http://csemk.ru/ajax-test/
блин. сейчас создал отдельную страницу. там срабатывает один раз. но выдает ошибку консоль ошибок firefox.
Ошибка: $ is not defined
Источник: http://csemk.ru/ajax-test/my-script.js
Строка: 23

У меня теперь два вопроса:
1. Как убрать эту ошибку?
2. Как отследить - почему у меня в первом моем варианте (который не могу засветить) три раза выполняется код?

Очень нужна ваша помощь :(

Neokortex 14.01.2011 16:27

понял почему выполнялся несколько раз - несколько раз вызывался скрипт (в 3-x разных фреймах).


Часовой пояс GMT +3, время: 12:10.