The following are simplified versions (no nn4 support) of two functions from one of my libraries.
Code:
function xAddEventListener(ele,eventType,eventListener,useCapture) {
eventType=eventType.toLowerCase();
var eh="ele.on"+eventType+"=eventListener";
if(ele.addEventListener) ele.addEventListener(eventType,eventListener,useCapture);
else if(ele.attachEvent) ele.attachEvent("on"+eventType,eventListener);
else if(ele.captureEvents) {
if(useCapture||(eventType.indexOf('mousemove')!=-1)) {
ele.captureEvents(eval("Event."+eventType.toUpperCase()));
}
eval(eh);
}
else eval(eh);
}
function xGetElementById(e) {
if(document.getElementById) e=document.getElementById(e);
else if(document.all) e=document.all[e];
else e=null;
return e;
}
Now, you can do something like this:
Code:
window.onload = function() {
var eBottom = xGetElementById('bottom');
xAddEventListener(eBottom, 'mouseover', mouseoverListener, false);
}
function mouseoverListener(e) {
// ...
}
Now mouseover events on 'top' will bubble up to 'bottom' (in browsers that support bubbling).
Bookmarks