My addEvent replacement now supports the full emulation of W3C standard cancelBubble and stopPropagation in event capture and bubbling mode in browsers that don’t support W3C events (IE, Opera).
Here is a test case. If someone can break this and help me find any bugs I’d be very grateful.
Seems to work in Opera, IE5, IE5.5. IE6, Firefox 1.5, Mozilla, NS6.2, NS7.2, NS8
Will test it in Safari later, should work fine in but that browser has bitten me in the past.
/*! @fn MetaWrap.Page.Element.stopPropagation = function(p_event) @param p_event Reference to the event we want to cancel @return void @brief Cancels an event. @author James Mc Parlane @date 23 October 2005 Allows events listeners on the current element to fire, but prevents any listeners on any other events from firing. */ MetaWrap.Page.Event.stopPropagation = function(p_event) { // If we have a native version if (p_event.stopPropagation) { // Then use it p_event.stopPropagation(); } else { // Simulate it - the rest of the simulation code // will interpret cancelBubble correctly p_event.cancelBubble = true; } }