Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.06.2010, 06:36
Аватар для warobushek
Аспирант
Отправить личное сообщение для warobushek Посмотреть профиль Найти все сообщения от warobushek
 
Регистрация: 18.07.2008
Сообщений: 80

Работает ли jquery с html сформированным динамически?
Пишу вот такой код и .. обработчик события не работает.

<html>
<head>
<style type="text/css">
.active {border: solid 1px red;}
</style>
<script type="text/javascript" src="jquery-1.4.2.js"></script>
<script type="text/javascript">
$(function() {
	$('#suggestS ul li').hover(
		function () {
			$('#suggestS ul li').attr('class','');
			$(this).attr('class','active');
			//alert('!');
		},
		function () {}
	);
});

function makelist() {
	var obj = document.getElementById('suggestS');
	obj.innerHTML = '<ul><li>1</li><li>12</li><li>123</li><li>1234</li></ul>'
}
window.onload = makelist;
</script>
</head>

<body>
	<div id="suggestS">
	</div>
</body>

</html>


Если список задать в html статически, то все будет ок.

Этот пример подтверждает, что обработчики событий из jquery нельзя использовать для динамически сформированныз элементов?
Ответить с цитированием
  #2 (permalink)  
Старый 13.06.2010, 06:39
Аспирант
Отправить личное сообщение для haha Посмотреть профиль Найти все сообщения от haha
 
Регистрация: 02.08.2009
Сообщений: 40

Надо переназначать обработчики после создания новых элементов, или назначать обработчики иным образом.
Ответить с цитированием
  #3 (permalink)  
Старый 13.06.2010, 06:54
Аватар для warobushek
Аспирант
Отправить личное сообщение для warobushek Посмотреть профиль Найти все сообщения от warobushek
 
Регистрация: 18.07.2008
Сообщений: 80

я пошел по пути простого указывания onmouseover для каждого сформированного элемента.

но интересено
переназначать обработчики это как?
Ответить с цитированием
  #4 (permalink)  
Старый 13.06.2010, 07:00
Профессор
Отправить личное сообщение для exec Посмотреть профиль Найти все сообщения от exec
 
Регистрация: 21.01.2010
Сообщений: 1,022

warobushek, обратиться к ним как к обычным элементам и назначить обработчик события.
Ответить с цитированием
  #5 (permalink)  
Старый 13.06.2010, 07:13
Аспирант
Отправить личное сообщение для haha Посмотреть профиль Найти все сообщения от haha
 
Регистрация: 02.08.2009
Сообщений: 40

function() {
	    $('#suggestS ul li').hover(
	        function () {
	            $('#suggestS ul li').attr('class','');
	            $(this).attr('class','active');
	            //alert('!');
	        },
	        function () {}
	    );
	}

эту функцию запускать после makelist.
Ответить с цитированием
  #6 (permalink)  
Старый 13.06.2010, 07:26
Аватар для warobushek
Аспирант
Отправить личное сообщение для warobushek Посмотреть профиль Найти все сообщения от warobushek
 
Регистрация: 18.07.2008
Сообщений: 80

спасиб
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jQuery Click() не работает на объекте, созданном Ajax vovabigov jQuery 13 09.09.2012 13:25
Как сохранить динамически генерируемую html страничку? Антоныч Javascript под браузер 1 01.03.2010 16:03
jQuery не работает ни в IE8 ни в Firefox Jon Events/DOM/Window 7 09.01.2010 22:39
Динамическая HTML форма (FireFox - работает, IE - не работает) dm1tr1y Общие вопросы Javascript 10 11.12.2009 14:59
При наборе адреса с www не работает AJAX (JQuery)! madmis AJAX и COMET 3 23.11.2009 18:03