There’s a lot of syntax to remember when dealing with JS events, so I figured it would be a good idea to compile a reference list that covers all types of events and the proper syntax to use them.
Internet Explorer has its own set of rules compared to Firefox, Chrome, Safari, and Opera. I will refer to non-IE browsers as “W3C browsers,” since there’s not really any other term that collectively refers to them.
How to Use this Reference
At the top of each block is a big event name. Click it to collapse/expand blocks. Under the name, you will see the list of valid elements that can use it. These vary by browser.
Code snippets are broken down by browser and registration type (traditional or advanced). The traditional (or inline) type means that you will overwrite any existing handler. The advanced method can add additional listeners and handlers.
For all examples, “myFunction” is the name of my fake event handler. Also, for W3C’s addEventListener
, I leave useCapture
as “false”. Look that stuff up if you need more info.
For easy viewing, you may want to – collapse the entire list.
CLICK toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onclick = myFunction; |
Remove |
– |
element.onclick = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onclick",myFunction); |
Remove |
– |
element.detachEvent("onclick",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("click",myFunction,"false"); |
Remove |
– |
element.removeEventListener("click",myFunction,"false"); |
DOUBLE CLICK toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.ondblclick = myFunction; |
Remove |
– |
element.ondblclick = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("ondblclick",myFunction); |
Remove |
– |
element.detachEvent("ondblclick",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("dblclick",myFunction,"false"); |
Remove |
– |
element.removeEventListener("dblclick",myFunction,"false"); |
LOAD toggle open
All Browsers |
valid on window only |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
window.onload = myFunction; |
Remove |
– |
window.onload = null; |
IE only |
Adds New |
Add |
+ |
window.attachEvent("onload",myFunction); |
Remove |
– |
window.detachEvent("onload",myFunction); |
W3C Only |
Adds New |
Add |
+ |
window.addEventListener("load",myFunction,"false"); |
Remove |
– |
window.removeEventListener("load",myFunction,"false"); |
UNLOAD toggle open
All Browsers |
valid on window only |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
window.onunload = myFunction; |
Remove |
– |
window.onunload = null; |
IE only |
Adds New |
Add |
+ |
window.attachEvent("onunload",myFunction); |
Remove |
– |
window.detachEvent("onunload",myFunction); |
W3C Only |
Adds New |
Add |
+ |
window.addEventListener("unload",myFunction,"false"); |
Remove |
– |
window.removeEventListener("unload",myFunction,"false"); |
MOUSE MOVE toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onmousemove = myFunction; |
Remove |
– |
element.onmousemove = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onmousemove",myFunction); |
Remove |
– |
element.detachEvent("onmousemove",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("mousemove",myFunction,"false"); |
Remove |
– |
element.removeEventListener("mousemove",myFunction,"false"); |
MOUSE OVER toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onmouseover = myFunction; |
Remove |
– |
element.onmouseover = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onmouseover",myFunction); |
Remove |
– |
element.detachEvent("onmouseover",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("mouseover",myFunction,"false"); |
Remove |
– |
element.removeEventListener("mouseover",myFunction,"false"); |
MOUSE OUT toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
outwrites |
Add |
+ |
element.onmouseout = myFunction; |
Remove |
– |
element.onmouseout = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onmouseout",myFunction); |
Remove |
– |
element.detachEvent("onmouseout",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("mouseout",myFunction,"false"); |
Remove |
– |
element.removeEventListener("mouseout",myFunction,"false"); |
MOUSE DOWN toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onmousedown = myFunction; |
Remove |
– |
element.onmousedown = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onmousedown",myFunction); |
Remove |
– |
element.detachEvent("onmousedown",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("mousedown",myFunction,"false"); |
Remove |
– |
element.removeEventListener("mousedown",myFunction,"false"); |
MOUSE UP toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onmouseup = myFunction; |
Remove |
– |
element.onmouseup = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onmouseup",myFunction); |
Remove |
– |
element.detachEvent("onmouseup",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("mouseup",myFunction,"false"); |
Remove |
– |
element.removeEventListener("mouseup",myFunction,"false"); |
MOUSE WHEEL toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, any element |
BROWSERS |
TYPE |
SYNTAX |
IE or Opera |
Overwrites |
Add |
+ |
element.onmousewheel = myFunction; |
Remove |
– |
element.onmousewheel = null; |
IE or Opera |
Adds New |
Add |
+ |
element.attachEvent("onmousewheel",myFunction); |
Remove |
– |
element.detachEvent("onmousewheel",myFunction); |
Everyone Else |
Adds New |
Add |
+ |
element.addEventListener("DOMMouseScroll",myFunction,"false"); |
Remove |
– |
element.removeEventListener("DOMMouseScroll",myFunction,"false"); |
KEY PRESS toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, form elements |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onkeypress = myFunction; |
Remove |
– |
element.onkeypress = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onkeypress",myFunction); |
Remove |
– |
element.detachEvent("onkeypress",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("keypress",myFunction,"false"); |
Remove |
– |
element.removeEventListener("keypress",myFunction,"false"); |
KEY DOWN toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, form elements |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onkeydown = myFunction; |
Remove |
– |
element.onkeydown = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onkeydown",myFunction); |
Remove |
– |
element.detachEvent("onkeydown",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("keydown",myFunction,"false"); |
Remove |
– |
element.removeEventListener("keydown",myFunction,"false"); |
KEY UP toggle open
Microsoft Support |
document, any element |
W3C Support |
window, document, form elements |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onkeyup = myFunction; |
Remove |
– |
element.onkeyup = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onkeyup",myFunction); |
Remove |
– |
element.detachEvent("onkeyup",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("keyup",myFunction,"false"); |
Remove |
– |
element.removeEventListener("keyup",myFunction,"false"); |
FOCUS toggle open
Microsoft Support |
window, any element |
W3C Support |
window, document, form elements |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onfocus = myFunction; |
Remove |
– |
element.onfocus = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onfocus",myFunction); |
Remove |
– |
element.detachEvent("onfocus",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("focus",myFunction,"false"); |
Remove |
– |
element.removeEventListener("focus",myFunction,"false"); |
BLUR toggle open
Microsoft Support |
window, any element |
W3C Support |
window, document, form elements |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onblur = myFunction; |
Remove |
– |
element.onblur = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onblur",myFunction); |
Remove |
– |
element.detachEvent("onblur",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("blur",myFunction,"false"); |
Remove |
– |
element.removeEventListener("blur",myFunction,"false"); |
CHANGE toggle open
All Browsers |
valid on form elements only |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onchange = myFunction; |
Remove |
– |
element.onchange = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onchange",myFunction); |
Remove |
– |
element.detachEvent("onchange",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("change",myFunction,"false"); |
Remove |
– |
element.removeEventListener("change",myFunction,"false"); |
SELECT toggle open
All Browsers |
valid on form elements only |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
element.onselect = myFunction; |
Remove |
– |
element.onselect = null; |
IE only |
Adds New |
Add |
+ |
element.attachEvent("onselect",myFunction); |
Remove |
– |
element.detachEvent("onselect",myFunction); |
W3C Only |
Adds New |
Add |
+ |
element.addEventListener("select",myFunction,"false"); |
Remove |
– |
element.removeEventListener("select",myFunction,"false"); |
RESET toggle open
All Browsers |
valid on form tag only |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
form.onreset = myFunction; |
Remove |
– |
form.onreset = null; |
IE only |
Adds New |
Add |
+ |
form.attachEvent("onreset",myFunction); |
Remove |
– |
form.detachEvent("onreset",myFunction); |
W3C Only |
Adds New |
Add |
+ |
form.addEventListener("reset",myFunction,"false"); |
Remove |
– |
form.removeEventListener("reset",myFunction,"false"); |
SUBMIT toggle open
All Browsers |
valid on form tag only |
BROWSERS |
TYPE |
SYNTAX |
All Browsers |
Overwrites |
Add |
+ |
form.onsubmit = myFunction; |
Remove |
– |
form.onsubmit = null; |
IE only |
Adds New |
Add |
+ |
form.attachEvent("onsubmit",myFunction); |
Remove |
– |
form.detachEvent("onsubmit",myFunction); |
W3C Only |
Adds New |
Add |
+ |
form.addEventListener("submit",myFunction,"false"); |
Remove |
– |
form.removeEventListener("submit",myFunction,"false"); |
Excellent piece. I would like it if other writers had straightforward and direct posts just like yours. Many thanks