Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Проблема с обработкой селектов html кода, пришедшего через ajax запрос (https://javascript.ru/forum/jquery/2634-problema-s-obrabotkojj-selektov-html-koda-prishedshego-cherez-ajax-zapros.html)

Rage 25.01.2009 15:34

Проблема с обработкой селектов html кода, пришедшего через ajax запрос
 
Не срабатывает функция
$(".clsubcatname").click(function(){
		alert('ok');
	});

на элементах с class="clsubcatname", которые вставлены на страницу через, например
$.post(
  			'ajax_admin.php', {
    			'act': "gensubcatlist",
    			'id': id
  			},
  			function(sclist) {$("#spansubcat").html(sclist);}
			
		);

В ответе от ajax_admin.php приходит и нормально отображается
<span class="clsubcatname">Avto 3</span>

Если же, за ранее прописать <div class="clsubcatname">test</div>
то все отлично и до запроса и после.

Не ужели нужно вместе с контентом передавать еще и js код? :(

Octane 25.01.2009 16:19

Обработчики событий добавляются только к существующим элементам.

Gennady 26.01.2009 10:16

Надеюсь, что не сочтут за рекламу своего ресурса - на эту тему на своем блоге давал несколько статей. Надеюсь, что помогут:
Обработка событий для элементов DOM, загружаемых через ajax. и Плагин Live Query
А с выходом релиза 1.3 в библиотеке появились методы live() и die(), с помощью которых реализуется нужная функциональность. Про эти методы можно прочитать на сайте jQuery, в разделе API/1.3/Events (англ.)

Rage 26.01.2009 11:46

Спасибо, похоже то что надо.

Kolyaj 26.01.2009 11:59

Цитата:

Сообщение от Gennady
Надеюсь, что не сочтут за рекламу своего ресурса

А че все так рекламироваться-то боятся?

Gennady 26.01.2009 12:23

Цитата:

Сообщение от Kolyaj (Сообщение 11410)
А че все так рекламироваться-то боятся?

Ну, насколько знаю, обычно администрация не очень приветствует ссылки в постах, а правила форума что-то не обнаружил...

Kolyaj 26.01.2009 14:15

Для таких администраций есть noindex (rel=nofollow здесь и так ставится).


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