在这有个反面例子。。。。http://alansun.javaeye.com/blog/290702 (我都不知道,此人的代码怎么跑成功了的, 还有下面一个评论好用的。。是怎么用起了的。。。难道他们用的只用IE?当我没说。)
…
var event = arguments[0]||window.event;
var eventTarget = event.srcElement||event.target;
…
下面是比较完整的参考(摘自JavaScript Pocket Reference, 2nd Edition)
DOM Level 2, IE 4, Netscape 4
DOM Constants
These constants are the legal values of the eventPhase property; they represent the current phase of event propagation for this event.
- Event.CAPTURING_PHASE = 1
-
The event is in its capturing phase.
- Event.AT_TARGET = 2
-
The event is being handled by its target node.
- Event.BUBBLING_PHASE = 3
-
The event is bubbling.
DOM Properties
All properties of this object are read-only.
- altKey
-
true if the Alt key was held down when an event occurred. Defined for mouse events.
- bubbles
-
true if the event is of a type that bubbles; false otherwise. Defined for all events.
- button
-
Specifies which mouse button changed state during a mousedown, mouseup, or click event. 0 indicates the left button, 1 indicates the middle button, and 2 indicates the right button. Note that this property is only defined when a button changes state: it is not used to report whether a button is held down during a mousemove event, for example. Also, this property is not a bitmap: it cannot tell you if more than one button is held down. Netscape 6.0 uses the values 1, 2, and 3 instead of 0, 1, and 2. This is fixed in Netscape 6.1.
- cancelable
-
true if the default action associated with the event can be canceled with preventDefault( ), false otherwise. Defined for all events.
- clientX, clientY
-
These properties specify the X and Y coordinates of the mouse pointer, relative to the client area of the browser window. Note that these coordinates do not take document scrolling into account. Defined for mouse events.
- ctrlKey
-
true if the Ctrl key was held down when the event occurred. Defined for mouse events.
- currentTarget
-
The document node that is currently handling this event. During capturing and bubbling, this is different than target. Defined for all events.
- detail
-
The click count: 1 for a single click, 2 for a double-click, 3 for a triple click, and so on. Defined for click, mousedown and mouseup events.
- eventPhase
-
The current phase of event propagation. The constants above define the three legal values for this property. Defined for all events.
- metaKey
-
true if the Meta key was held down when the event occurred. Defined for mouse events.
- relatedTarget
-
For mouseover events, this is the document node that the mouse left when it moved over the target. For mouseout events, it is the node that the mouse entered when leaving the target. It is undefined for other types of events.
- screenX, screenY
-
These properties specify the X and Y coordinates of the mouse pointer relative to the upper-left corner of the user's screen. Defined for mouse events.
- shiftKey
-
true if the Shift key was held down when the event occurred. Defined for mouse events.
- target
-
The target for this event; the document node that generated the event. Note that this may be any node, including Text nodes; it is not restricted to Element nodes. Defined for all events.
- timeStamp
-
A Date object that specifies the date and time at which the event occurred. Defined for all events, but implementations are not required to provide a valid timestamp.
- type
-
The type of event that occurred. This is the name of the event handler property with the leading "on" removed. For example, "click", "load", or "mousedown". Defined for all events.
- view
-
The Window object in which the event was generated.
DOM Methods
- preventDefault( )
-
Tells the web browser not to perform the default action (if there is one) associated with this event. If the event is not of a type that is cancelable, this method has no effect. Returns nothing.
- stopPropagation( )
-
Stops the event from propagating any further through the capturing, target, or bubbling phases of event propagation. Returns nothing.
IE 4 Properties
- altKey
-
A boolean value that specifies whether the Alt key was held down when the event occurred.
- button
-
For mouse events, button specifies which mouse button or buttons were pressed. This read-only integer is a bitmask: the 1 bit is set if the left button was pressed. The 2 bit is set if the right button was pressed. The 4 bit is set if the middle button (of a three button mouse) was pressed.
- cancelBubble
-
If an event handler wants to stop an event from being propagated up to containing objects, it must set this property to true.
- clientX, clientY
-
The X and Y coordinates, relative to the web browser page, at which the event occurred.
- ctrlKey
-
A boolean value that specifies whether the Ctrl key was held down when the event occurred.
- fromElement
-
For mouseover and mouseout events, fromElement refers to the object from which the mouse pointer is moving.
- keyCode
-
For keyboard events, keyCode specifies the Unicode character code generated by the key that was struck.
- offsetX, offsetY
-
The X and Y coordinates at which the event occurred, within the coordinate system of the event's source element (see srcElement).
- returnValue
-
If this property is set, its value takes precedence over the value actually returned by an event handler. Set this property to false to cancel the default action of the source element on which the event occurred.
- screenX, screenY
-
The X and Y coordinates, relative to the screen, at which the event occurred.
- shiftKey
-
A boolean value that specifies whether the Shift key was held down when the event occurred.
- srcElement
-
The Window, Document, or Element object that generated the event.
- toElement
-
For mouseover and mouseout events, toElement refers to the object into which the mouse pointer is moving.
- type
-
A string property that specifies the type of the event. Its value is the name of the event handler, minus the "on" prefix. So, when the onclick( ) event handler is invoked, the type property of the Event object is "click".
- x, y
-
The X and Y coordinates at which the event occurred. These properties specify coordinates relative to the innermost containing element that is dynamically positioned using CSS.
Netscape 4 Properties
- height
-
Set only in resize events. Specifies the new height of the window or frame that was resized.
- layerX, layerY
-
Specify the X and Y coordinates, relative to the enclosing layer, at which an event occurred.
- modifiers
-
Specifies which keyboard modifier keys were held down when the event occurred. This numeric value is a bitmask consisting of any of the constants Event.ALT_MASK, Event.CONTROL_MASK, Event.META_MASK, or Event.SHIFT_MASK. Due to a bug, this property is not defined in Netscape 6 or 6.1.
- pageX, pageY
-
The X and Y coordinates, relative to the web browser page, at which the event occurred. Note that these coordinates are relative to the top-level page, not to any enclosing layers.
- screenX, screenY
-
The X and Y coordinates, relative to the screen, at which the event occurred.
- target
-
The Window, Document, Layer, or Element object on which the event occurred.
- type
-
A string property that specifies the type of the event. Its value is the name of the event handler, minus the "on" prefix. So, when the onclick( ) event handler is invoked, the type property of the Event object is "click".
- which
-
For keyboard and mouse events, which specifies which key or mouse button was pressed or released. For keyboard events, this property contains the character encoding of the key that was pressed. For mouse events, it contains 1, 2, or 3, indicating the left, middle, or right buttons.
- width
-
Set only in resize events. Specifies the new width of the window or frame that was resized.
- x, y
-
The X and Y coordinates at which the event occurred. These properties are synonyms for layerX and layerY and specify the position relative to the containing layer (if any).