Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   не получается присоединить функцию (https://javascript.ru/forum/events/8763-ne-poluchaetsya-prisoedinit-funkciyu.html)

Namolem 11.04.2010 20:54

не получается присоединить функцию
 
function getProtocol(){	
    код функции
}
document.getElementById("d_s_m_menu").innerHTML +=  "<a id=\"protocolOfChanges\" href=\"#\">Протокол изменений</a><br/>";
document.getElementById("protocolOfChanges").addEventListener('click', getProtocol, false);


при нажатии на ссылку ничего не происходит
если написать вызов функции ниже этого кода, она выполняется

Aetae 11.04.2010 21:50

Подозреваю, что вы юзаете для проверки ie.
http://javascript.ru/tutorial/events...cialnye-metody

Namolem 11.04.2010 22:12

Цитата:

Сообщение от Aetae (Сообщение 51203)
Подозреваю, что вы юзаете для проверки ie.
http://javascript.ru/tutorial/events...cialnye-metody

нет, это скрипт для GreaseMonkey в Firefox

Aetae 11.04.2010 22:15

Тогда всё работает.)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
	<body>
		<div id='d_s_m_menu'></div>
		<script type="text/javascript">
		function getProtocol(){alert(1);}
		document.getElementById("d_s_m_menu").innerHTML +=  '<a id="protocolOfChanges" href="#">Протокол изменений</a><br/>';
		document.getElementById("protocolOfChanges").addEventListener('click', getProtocol, false);
		</script>
	</body>
</html>

Namolem 11.04.2010 22:40

вспомнил о таком методе дебага как комментирование всего и постепенное открытие

Ошибку сабжа вызывает эта строчка. Почему?

document.getElementById("d_s_m_menu").innerHTML +=  "<a href=\"https://de.ifmo.ru/servlet/distributedCDE?Rule=eRegister\">Электронный журнал</a><br/>";

Aetae 11.04.2010 22:48

Если сама ссылка появляется то хзхз.
Если же нет, то например d_s_m_menu ещё не появился на странице или innerHTML изначально пустое...

P.S. То что в последнем примере в ссылке не прописан нужный id - это опечатка?)

B~Vladi 11.04.2010 22:50

Больше никаких методов дебага не знаешь? document.getElementById("d_s_m_menu") нашелся? И вообще, текст ошибки можно было бы и выложить.

Namolem 11.04.2010 23:05

больше ничего не могу придумать

Firebug и Firefox молчат - никаких ошибок.

ссылка, вызывающая ошибку появляется

вот полный код

http://pastebin.ru/311775

Namolem 11.04.2010 23:06

Цитата:

Сообщение от Aetae (Сообщение 51217)
P.S. То что в последнем примере в ссылке не прописан нужный id - это опечатка?)

для ссылки? я ее больше нигде не использую, поэтому не нужен

Aetae 11.04.2010 23:37

Перенос строки или это просто особенности вывода?(ну а вдруг=) )


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