onabort onafterupdate onbeforeunload onbeforeupdate onblur onbounce onchange onclick ondataavailable ondatasetchanged ondatasetcomplete ondblclick ondragstart onerror onerrorupdate onfilterchange onfinish onfocus onhelp onkeydown onkeypress onkeyup onload onmousedown onmousemove onmouseout onmouseover onmouseup onreadystatechange onreset onresize onrowenter onrowexit onscroll onselect onselectstart onstart onsubmit onunload
Событие | Когда происходит | Можно назначить: |
onabort | пользователь останавливает загрузку рисунка | IMG |
onblur | элемент теряет фокус (становится неактивным) | A, APPLET, AREA, BUTTON, DIV, EMBED, HR, IMG, INPUT,
MARQUEE, OBJECT, SELECT, SPAN, TABLE, TD, TEXTAREA, TR, window |
onbounce | вызывается, когда свойствo behavior элемента MARQUEE установлено в "alternate" и строка достигает границы. | MARQUEE |
onchange | изменено содержимое элемента | INPUT, SELECT, TEXTAREA |
onclick | щелчок над элементом | все видимые |
ondblclick | двойной щелчок | все видимые |
onerror | возникает при ошибке javascript - для window, и при неудаче загрузки - для остальных элементов. | window,IMG, LINK, OBJECT, SCRIPT, STYLE |
ondragstart | При нажатой кнопке происходит перемещение курсора (короче, просто drag :) | A, ACRONYM, ADDRESS, AREA, B, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DEL, DFN, DIR, DIV, DL, DT, EM, FONT, FORM, H1, H2, H3, H4, H5, H6, HR, I, IMG, INPUT, KBD, LABEL, LI, LISTING, MAP, MARQUEE, MENU, OBJECT, OL, OPTION, P, PLAINTEXT, PRE, Q, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document |
onfilterchange | визуальный фильтр изменяет свое состояние, или транзиция заканчивается. | BODY, BUTTON, DIV*, IMG, INPUT, MARQUEE, SPAN*, TABLE, TD, TEXTAREA, TFOOT, TH, THEAD, TR |
onfinish | происходит завершение цикла (looping) | marquee |
onfocus | элемент получает фокус (становится активным) | A, APPLET, AREA, BUTTON, DIV, EMBED, HR, IMG, INPUT, MARQUEE, OBJECT, SELECT, SPAN, TABLE, TD, TEXTAREA, TR, window |
onhelp | пользователь нажимает клавишу F1 | A, ADDRESS, APPLET, AREA, B, BIG, BLOCKQUOTE, BUTTON, CAPTION,
CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, H1, H2,
H3, H4, H5, H6, HR, I, IMG, INPUT, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU,
OL, P, PLAINTEXT, PRE, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE,
TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document, window |
onkeydown | Пользователь нажал клавишу. Возвращается код нажатой клавиши | A, ACRONYM, ADDRESS, APPLET, AREA, B, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DEL, DFN, DIR, DIV, DT, EM, FIELDSET, FONT, FORM, H1, H2, H3, H4, H5, H6, HR, I, IMG, INPUT, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, OBJECT, OL, P, PLAINTEXT, PRE, Q, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document |
onkeypress | Пользователь нажал клавишу. Возвращается код нажатой клавиши | A, ACRONYM, ADDRESS, APPLET, AREA, B, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DEL, DFN, DIR, DIV, DT, EM, FIELDSET, FONT, FORM, H1, H2, H3, H4, H5, H6, HR, I, IMG, INPUT, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, OBJECT, OL, P, PLAINTEXT, PRE, Q, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document |
onkeyup | Пользователь отпустил нажатую клавишу | то же |
onload | происходит после загрузки элемента | APPLET, EMBED, FRAMESET, IMG, LINK, SCRIPT, STYLE, window |
onmousedown | пользователь нажал клавишу мыши | A, ADDRESS, APPLET, AREA, B, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DFN, DIR, DIV, DL, DT, EM, EMBED, FIELDSET, FONT, FORM, H1, H2, H3, H4, H5, H6, HR, I, IMG, INPUT, KBD, LABEL, LEGEND, LI, LISTING, MAP, MARQUEE, MENU, OL, P, PLAINTEXT, PRE, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP, document |
onmousemove | курсор мыши передвигается над элементом | |
onmouseout | курсор мыши покинул элемент | |
onmouseover | курсор мыши вошел в границы элемента | |
onmouseup | пользователь отпустил клавишу мыши | |
onreset | пользователь произвел очищение данных формы (нажал кнопку reset) | form |
onresize | пользователь начал изменять размеры элемента | APPLET, BUTTON, CAPTION, DIV, EMBED, FRAMESET, HR, IMG, MARQUEE, SELECT, TABLE, TD, TR, TEXTAREA, window |
onrowenter | возникает, когда текущая строка изменена и в нее внесены новые данные | APPLET, BODY, BUTTON, CAPTION, DIV, EMBED, HR, IMG, MAP, MARQUEE, OBJECT, SELECT, TABLE, TD, TEXTAREA, TR |
onrowexit | аналогично предыдущему - возникает сразу перед тем, как в контроле-источнике данных изменяется текущая строка | |
onscroll | происходит скроллинг элемента | DIV, FIELDSET, IMG, MARQUEE, SPAN, TEXTAREA, window |
onselect | произошел выбор того или иного элемента | INPUT, TEXTAREA |
onselectstart | происходит при выборе того или иного элемента | A, ACRONYM, ADDRESS, AREA, B, BIG, BLOCKQUOTE, BODY, BUTTON, CAPTION, CENTER, CITE, CODE, DD, DEL, DFN, DIR, DIV, DL, DT, EM, FONT, FORM, H1, H2, H3, H4, H5, H6, HR, I, IMG, INPUT, KBD, LABEL, LI, LISTING, MAP, MARQUEE, MENU, OBJECT, OL, OPTION, P, PLAINTEXT, PRE, Q, S, SAMP, SELECT, SMALL, SPAN, STRIKE, STRONG, SUB, SUP, TABLE, TBODY, TD, TEXTAREA, TFOOT, TH, THEAD, TR, TT, U, UL, VAR, XMP |
onstart | происходит в начале каждого цикла бегущей строки | MARQUEE |
onsubmit | происходит при отправке данных из формы. Может возвращать true или false | form |
onunload | происходит при выгрузке элемента | window, FRAMESET |
1) Объявить функцию и описать реализацию в тэгах <script></script>, назначить вызов функции прямо в тэге объекта.
<SCRIPT LANGUAGE="JavaScript">
function flip() {
// Carry out some work
}
</SCRIPT>
.
.
.
<IMG SRC="sample.gif" onmouseover="flip()">
2) Аналогично предыдущему примеру, но используя аттрибуты for= и event= в тэге <script>. В данном случае обработчик назначается всем элементам с ID, установленным в for= :
<SCRIPT FOR=MyImage EVENT=onmouseover LANGUAGE="JavaScript"> alert("Hello!"); </SCRIPT> . . . <IMG ID=MyImage SRC="sample.gif"> <IMG ID=MyImage SRC="sample1.gif"> <IMG ID=MyImage SRC="sample2.gif"> <IMG ID=MyImage SRC="sample3.gif">
3) Пригоден для небольших обработчиков. Задается прямо в тэге элемента.
<BUTTON onclick="alert('Hello World!')" LANGUAGE="JavaScript">Click Me</BUTTON>
4) Вместо for= и event= (см. 2) можно назначить обработчик не в теле документа, а в тэгах <script>
<H1 id=MyHeading>Welcome!</H1> . . . <SCRIPT LANGUAGE="JavaScript"> function setHeadStyle() { window.event.srcElement.style.color = "green"; } document.all.MyHeading.onclick="setHeadStyle()";//допустимо также document.all.MyHeading.onclick=setHeadStyle; </SCRIPT>
5) Выносить функции во внешние файлы с расширением .js, назначать обработчики можно как во внешнем файле, так и внутри данного документа.
Функция JS может как принимать параметры, так и возвращать значения. JScript - контекстно-зависимый язык.
<Script>
function reload(url)
{
document.location.href=url;
}
</script>
<input type="Button" onclick="reload('http://msdn.microsoft.com')";
...
<script>
var a = "http:/";
var b = "/www.microsoft.ru";
function makeurl(first,second)
{
return (a+b);
}
function calc()
{
alert(makeurl(2,2));
}//-------- не 22, а 4!
function reload()
{
document.location.href=makeurl(a,b);
}//------------http://www.microsoft.ru;
</script>
Одна и та же функция в зависимости от контекста
возвращает число или строку.