Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обработчик событий. Проблема срабатывания . (https://javascript.ru/forum/misc/41598-obrabotchik-sobytijj-problema-srabatyvaniya.html)

lammeR 20.09.2013 20:55

Обработчик событий. Проблема срабатывания .
 
Привет всем.
Есть див с текстом, в этом тексте есть ссылка, на которую навешан обработчик события, когда этот текст копируется и вставляется в другой див, обработчик на ссылке не срабатывает.
Кликая на ссылку "Hello my lovely world!", которая находится в диве id="d1" выводится alert, кликая на " Let me copy that!" текстовое содержимое дива id="d1" копируется в див с id="d2", но обработчик на ссылке "Hello my lovely world!" больше не работает.
Как решить эту проблему?
<script>
window.onload = function() {
		var link = document.getElementById("link");
		var d1 = document.getElementById("d1");
		var d2 = document.getElementById("d2");
		
		d1.onclick = function(e) {
				if(d2.innerHTML == "") return;
				this.innerHTML = d2.innerHTML;
				d2.innerHTML = "";
				
		}
		
		link.onclick = function() {
				alert("Lol!!!");
				
		}
}
</script>

<div id="d1">
		<a href="#">Let me copy that!</a>
</div>

<br />
<div id="d2">
		dfdfdf dfdfdffd hjhjhj	<a href="#" id="link">Hello my lovely world!</a> dhfjdfdjhd
</div>

lammeR 21.09.2013 20:49

Ребят, кто-нибудь отзовитесь))

danik.js 22.09.2013 04:04

Цитата:

Сообщение от lammeR
но обработчик на ссылке "Hello my lovely world!" больше не работает.

Что значит "больше неработает"? Это абсолютно новая ссылка, созданная из html-кода, на ней изначально нет никаких обработчиков, откуда бы им взяться?
Варианты:
1) Пересаживать непосредственно DOM-узлы, а не уничтожать старые и воссоздавать новые из HTML.
2) Навешать обработчик заново.

lammeR 23.09.2013 13:21

danik.js, ну я так и понял, что создаётся новая ссылка, навешивал обработчик заново, теперь сделаю через appendChild.


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