Обработчик события onload активируется, когда начинает загружаться графическая часть страницы (все тексты, графика и т.п.). onload является атрибутом тега <body>. Если честно я не вижу сколько бы реального применения этому событию, зато я нашел, что можно сделать с onunload. onunload это тоже атрибут тега <body>. Событие unload происходит когда мы пытаемся покинуть данную страницу (переходим по ссылке на другую, закрываем окно браузера, обновляем страницу и т. д.). Откройте еще раз окошко справки. Допустим, что пользователь прочитал справку, и хочет отправить форму, или уйдет с нашего сайта, но при этом он забыл закрыть это маленькое окошко с подсказкой, мы на выходе закроем его сами. А для этого тег <body> (у начального документа) у нас будет выглядеть следующим образом:
<body onunload="helpWindow.close()">
Вы должны бы помнить, что helpWindow это имя нашего окна (ведь именно этой переменной мы присваивали его открытие: helpWindow = window.open("help.html", "", "toolbar=0,width=300,height=200")), а метод close() закрывает это окно. Некоторые нехорошие люди используют это событие, чтобы когда посетители уходили с его страницы, появлялись какие-либо окна, так называемые pop-up
onabort - атрибут тега <img>. Когда пользователь отменяет загрузку изображения происходит событие abort. Но отмена загрузки изображения может не входить в наши плане. И в качестве предупреждения у нас может быть написано нечто похожее на
<img src="myimage.jpg" onabort="alert('Изображение до конца не загружено! Это может привести к ошибкам.');" />>
ЗАКЛЮЧЕНИЕ
а) События о которых не было сказано
Есть некоторые события о которых я здесь нарочно не упомянул, потому что не нашел им достойного применения, но Вам они возможно пригодятся, поэтому я уделю им немного внимания.
onchange - обработчик события, который активируется, когда Вы изменяете содержимое текстового элемента или текстовой области (<TEXTAREA>) (например, когда Вы вводите или удаляете очередную букву какого-либо текстового поля).
onselect - обработчик события выбора текста. То есть это событие происходит, когда пользователь пытается выделить текст в текстовом элементе или текстовой области.
onerror - обработчик события error, которое возникает при ошибке загрузки документа или изображения (то есть onerror это атрибут тегов <body> и <img>). Оно возникает при синтаксической ошибке JavaScript-кода (но Вы ведь не будете специально делать в нем ошибки), либо ошибкой времени выполнения (например, если Ваш скрипт выполняет какие-либо вычисления и у Вас по ошибке получится так, что некое число будет делиться на ноль, а это недопустимо - это и есть одна из ошибок времени выполнения).
Так же не забывайте, что я привел лишь по одному примеру из десятков возможных на каждое событие. Здесь главное Ваша фантазия и навыки. Например, события mouseout, mouseover, mouseup, mousedown часто используются для создания выпадающих меню и других визуальных эффектов, но это весьма трудный материал, который требует более глубоких знаний, причем не одного JavaScrip
Способы открытия нового окна с помощью JS
Несмотря на заявления юзабилистов о том, что новые окна браузера должен открывать только пользователь, в реальности довольно часто возникает необходимость открыть новое окно, например для того, что бы показать увеличенную версию картинки или форму обратной связи. Даже на этом сайтекарта форумов открывается в новом окне.
Ниже перечислены несколько способов открытия нового окна, а также указаны их достоинства и недостатки.
href="javascript:…"
<a href="javascript:window.open('popup.html','','…')">Новое окно</a>
Это самый старый (известный мне) способ. Его минусы:
◦ при отключении JS ссылка не работает;
◦ не индексируется поисковиками;
◦ в статусной строке вместо ссылке отображается JavaScript-код;
◦ „грязный“ код.
onclick="…"
<a href="popup.html" onclick="window.open('popup.html','…','…'); return false">Новое окно</a>
<a href="popup.html" onclick="window.open(this.href,'…','…'); return false">Новое окно</a>
Именно этот способ чаще всего используется на сайтах. Он лишён первых двух минусов предыдущего способа, и если на сайте открытие новых окон не является частым действием (например, на этом сайте я нашёл только одну такую ссылку), то этот способ является оптимальным.
Если же на сайте приходиться открывать много новых однотипных окон (например увеличенное изображение товаров в интернет-магазине), то этот способ выливается в большое количество лишнего кода.
сlass="popup", window.onload
Идея проста, обозначим каким-либо образом ссылки, которые нужно открывать в новом окне (в данном случае присвоив им класс), а после загрузки документа присвоим этим ссылкам обработчик события onclick.
<a href="popup.html" class="popup">Новое окно</a>