Table of Contents:
Microsoft Events (All)

Workarounds Available:
 
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, 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

Areas Affected:
Events, Event Handler, Event Model
Microsoft’s Event Model:
event object’s properties: altKey, button, cancelBubble, clientX, clientY, ctrlKey, dataFld, dataTransfer, fromElement, keyCode, offsetX, offsetY, propertyName, reason, recordset, returnValue, screenX, screenY, shiftKey, srcElement, srcFilter, toElement, type, x, y.
Microsoft’s Events: onabort, onafterupate, onbeforecopy, onbeforecut, onbeforepaste, onbeforeunload, onbeforeupdate, onblur, onbounce, oncellchange, onchange, onclick, oncopy, oncut, ondataavailable, ondatasetchanged, ondatasetcomplete, ondblclick, ondrag, ondragend, ondragenter, ondragleave, ondragover, ondragstart, ondrop, onerror, onerrorupdate, onfilterchange, onfinish, onfocus, onhelp, onkeydown, onkeypress, onkeyup, onload, onlosecapture, onmousedown, onmousemove, onmouseout, onmouseover, onmouseup, onpaste, onpropertychange, onreadystatechange, onreset, onresize, onrowenter, onrowexit, onrowsdelete, onrowsinserted, onscroll, onselect, onselectstart, onstart, onsubmit, onunload.

Netscape’s Event Model:
event object’s properties: data, height, layerX, layerY, modifiers, pageX, pageY, screenX, screenY, target, type, which, width
Netscape’s Events: onAbort, onBlur, onChange, onClick, onDblClick, onDragDrop onError, onFocus, onKeyDown, onKeyPress, onKeyUp, onLoad, onMouseDown, onMouseMove, onMouseOut, onMouseOver, onMouseUp, onMove, onReset, onResize, onSelect, onSubmit, onUnload



Background Information:
Netscape’s JavaScript 1.2 has a very different event model from Internet Explorer’s.  In fact, they are reversed.  For example, clicking on a hypertext link would cause the following event handlers to be called:

Microsoft:
1. Link
2. Layer
3. document
4. window
5. default handler
Netscape:
1. Window
2. document
3. layer
4. link
5. default handler

Microsoft uses an event bubbling model.  Event bubbling is a process in which the object associated with where the event happened receives the event first.  This object then choose to process the event or pass it along to its parent object.
NN4 uses an event capturing model, the opposite of an event bubbling model. Rather than events being generated by the bottommost object in the hierarchy, then bubbled up, events in the event capturing model are generated at the top of the object hierarchy and then fall through to events lower in the hierarchy.  A limited number of page elements can generate and process events. For example, onMouseOver is handled only images and links.



Workaround:

To write scripts that will work in both browsers, don’t use the feature of passing any events to parent event handlers, since the passing order is reversed in the two browsers.  Instead, handle each event in a single function.  Also, use only the events defined for the Netscape browser, since those will work in both.

References
1) Bubble Power: Event Handling in Internet Explorer 4.0 http://www.microsoft.com/workshop/author/script/ie4event.asp
2) Dynamic HTML and The New Event Models http://www.dhtmlzone.com/articles/eventmodels.html
3) Cross Browser Dynamic HTML http://www.dhtmlzone.com/articles/dhtml.html