Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.10.2013, 15:49
Аспирант
Отправить личное сообщение для natureproj Посмотреть профиль Найти все сообщения от natureproj
 
Регистрация: 11.08.2013
Сообщений: 73

Не работает js на добавленные элементы с innerHTML
Доброго времени суток, такая проблема:
есть, к примеру кубик, делаю на него такой код:
$('.kubik').mouseover(function(){
$('#'+this.id).css({'border':'3px solid #ffffff'});
});


То есть при наведении на него мышки, вокруг него белый контур.
Всё работает!
Если кубик добавить кроссбраузерно:
on_pole.innerHTML += '<div class="kubik"> </div> ';

То ничего не работает! Аналогично со всеми другими функциями. drag drop и пр.
Пожалуйста, помогите с проблемой!

Последний раз редактировалось natureproj, 20.10.2013 в 15:59.
Ответить с цитированием
  #2 (permalink)  
Старый 20.10.2013, 16:29
Аватар для SkyLight
Злюка-бобер
Отправить личное сообщение для SkyLight Посмотреть профиль Найти все сообщения от SkyLight
 
Регистрация: 21.03.2010
Сообщений: 438

Вешайте события через делегирование и все будет работать.
__________________
In WEB We Trust
У всех есть своя темная сторона...
Ответить с цитированием
  #3 (permalink)  
Старый 20.10.2013, 16:58
Аспирант
Отправить личное сообщение для natureproj Посмотреть профиль Найти все сообщения от natureproj
 
Регистрация: 11.08.2013
Сообщений: 73

У меня и так делегирование вроде. Один обработчик на все кубики
Ответить с цитированием
  #4 (permalink)  
Старый 20.10.2013, 17:15
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

вам говорят вешать событие на родительский элемент с делегированием.
<style>
.kubik {
	box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
	height: 20px;
	width: 20px;
	background: #ccc;
	display: inline-block;
	margin: 5px 5px 0 0;
}
</style>
<input type="button" id="add" value="еще" />
<div class="target">
	<div class="kubik"></div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script>
$('.target').on('mouseover', '.kubik', function( ) {
	$(this).css({'border':'3px solid #000'});
});
$('#add').on('click', function(){
	$('.target').append('<div class="kubik"></div>');
});
</script>

Последний раз редактировалось BETEPAH, 20.10.2013 в 17:38.
Ответить с цитированием
  #5 (permalink)  
Старый 20.10.2013, 17:40
Аспирант
Отправить личное сообщение для natureproj Посмотреть профиль Найти все сообщения от natureproj
 
Регистрация: 11.08.2013
Сообщений: 73

Ветеран! Да, так проще, только в этом примере. Мне нужно также перетаскивать эти обьекты и другое...
нашел инфу по делегированию.

в хтмл добавляется такой код:
<div id="domens">
<div class="sait" id="myid1">текст</div>
<div class="sait" id="myid2">текст</div>
...
</div>
Делаю так:
$('#domens').delegate(".sait","click",function(){
 alert('клик!');
});

не выходит
Ответить с цитированием
  #6 (permalink)  
Старый 20.10.2013, 17:54
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от natureproj
".sait","click",
поменяйте местами
и вместо delegate - on
и я не вижу особого отличия от примера, который сочинил выше я
Ответить с цитированием
  #7 (permalink)  
Старый 20.10.2013, 18:43
Аспирант
Отправить личное сообщение для natureproj Посмотреть профиль Найти все сообщения от natureproj
 
Регистрация: 11.08.2013
Сообщений: 73

Ветеран, спасибо! Наконец нашел ошибку: если , как в моём случае, <div id="domens"></div>
Также добавляется кроссбрацзерно, то не получится!
Этот этап я сделал, всё работает. Теперь вопрос, как следующую строчку также реализовать :
$('.sait').draggable(
	{ 
helper:'clone',

	});


делаю так:
$('#dannie').on('draggable', '.sait', function( ) {
helper:'clone';
});

не пашет
Ответить с цитированием
  #8 (permalink)  
Старый 20.10.2013, 19:05
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

<style>
.kubik {
	box-sizing: border-box;
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
	height: 20px;
	width: 20px;
	background: #ccc;
	display: inline-block;
	margin: 5px 5px 0 0;
}
.target {
	height: 80px;
}
</style>
<input type="button" id="add" value="еще" />
<div class="target">
	<div class="kubik"></div>
</div>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
<script>
$(function() {
	$('.kubik').draggable();
	$('.target').on('mouseover', '.kubik', function( ) {
		$(this).css({'border':'3px solid #000'});
	});
	$('#add').on('click', function(){
		var element = $('<div class="kubik"></div>');
		element.draggable();
		$('.target').append(element);
	});
})
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 20.10.2013, 19:35
Аспирант
Отправить личное сообщение для natureproj Посмотреть профиль Найти все сообщения от natureproj
 
Регистрация: 11.08.2013
Сообщений: 73

Спасибо. Сделал чучуть по-другому:
$('#dannie').on('mouseover', '.sait', function( ) {
	  $('.sait').draggable({ 
helper:'clone'
	});
	  
	  
});
Ответить с цитированием
  #10 (permalink)  
Старый 20.10.2013, 19:47
Аватар для BETEPAH
Профессор
Отправить личное сообщение для BETEPAH Посмотреть профиль Найти все сообщения от BETEPAH
 
Регистрация: 23.06.2011
Сообщений: 1,165

Сообщение от natureproj
Спасибо. Сделал чучуть по-другому:
Если кому-то придется поддерживать этот код, вам будет сильно икаться
Логика вашего кода - при каждом наведении курсора на любой .sait, находящийся внутри #dannie, всем .sait на сайте добавляется драгабл
Чем не устраивает задавание драгабл при создании элемента?
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS код некоректно работает со стилями zhaaskar Элементы интерфейса 14 13.02.2013 14:59
Не работает JS в Firefox Siend Общие вопросы Javascript 5 04.02.2012 14:37
Ошибка в коде Js, Неправильно работает скрипт. Julia Panatova Общие вопросы Javascript 1 19.01.2011 14:12
Ошибка в коде Js, Неправильно работает скрипт. Julia Panatova Общие вопросы Javascript 7 07.01.2011 13:41
js + php отправка формы не работает kuzroman AJAX и COMET 2 28.12.2010 13:02