Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не срабатывает onClick в head (https://javascript.ru/forum/events/31613-ne-srabatyvaet-onclick-v-head.html)

zhurchik 14.09.2012 12:21

Не срабатывает onClick в head
 
Не срабатывает обработчик onClick записываю следующий образом код между <head></head>
try
 {
  document.getElementById('q').onСlick = function () {
	alert("Кто сказал что Ростова нет на карте");
  };

 } catch (err) {
	document.write(err);
 }


В самом теле документа имеется блок <div id="q">Привет мир</div>

Открываю страницу в опере выдает ошибку TypeError: Cannot convert 'document.getElementById('q')' to object

Хочу чтобы при клике на блок вызвалось сообщение "Кто сказал что Ростова нет на карте"

lord2kim 14.09.2012 12:40

zhurchik, в момент вызова вашего блока в head DOM еще не сформирован полностью и элемента с id="q" не существует...
вызывайте скрипт после данного элемента на странице

zhurchik 14.09.2012 12:57

Вот я дурак, как же сам не вспомнил об этом. Большое Вам спасибо.
У меня к Вам еще будет вопрос, надеюсь Вы не затруднитесь ответить.

Имеется у меня несколько функций которые должны будут работать после полной загрузки страницы, я понимаю что нужно использовать событие window.onload только как сделать так чтобы я мог его вызвать не атрибутом в теги body а между <head></head> что бы что то получилось на подобие как в Jquery $(document).ready() только мне нужно на чистом JS

vashurin 14.09.2012 13:55

Цитата:

Сообщение от zhurchik (Сообщение 204633)
нужно использовать событие window.onload

http://javascript.ru/tutorial/events...cialnye-metody поставить можно где угодно.

vashurin 14.09.2012 13:57

Цитата:

Сообщение от zhurchik (Сообщение 204633)
получилось на подобие как в Jquery $(document).ready() только мне нужно на чистом JS

Ну так можно открыть не сжатый исходник Jquery и скопировать эту функцию.

zhurchik 14.09.2012 14:11

Всем ответившим большое спасибо все решено с Вашей помощью!


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