This is used in burst.web.WindowEvent.addEventListener to allow callers to assume a W3-compliant event handler even on IE.
IE does not pass in a Event, but rather has global window.event with similar but differently named properties. Note that in Mozilla, for String definitions of handlers, there is a formal parameter called "event" implicitly available in event handler expressions.
Note that this can cause issues however if the callback function is in a different frame from where the event arises, because the function will not see window.event (it having a different window global). This is also dealt with in burst.web.WindowEvent.addEventListener because the closure it creates passes in an appropriate synthesized compliant event object.
In this wrapper object, we ensure that these standard member variables and methods work:
These are in common between IE and W3:
We do not currently do anything about these:
That is because those are an inconsistent mess among current browsers, not just IE (certainly in concert with scroll* attributes). So instead we need convenience methods specifically for those. See http://evolt.org/article/Mission_Impossible_mouse_position/17/23335/index.html
Public Member Functions
|IEEvent (Event ev)|
|The constructor. |