JS/Cross-browser event handling - problem
-
Hi everyone! I've got the following:
function setup_event(elem, eventType, handler)
{
(elem.attachEvent ? elem.attachEvent("on" + eventType, handler) : ((elem.addEventListener) ? elem.addEventListener(eventType, handler, false) : false));
}function detach_event(elem, eventType, handler)
{
(elem.detachEvent ? elem.detachEvent("on" + eventType, handler) : ((elem.removeEventListener) ? elem.removeEventListener(eventType, handler, false) : false));
}This works perfectly in all browsers. Trying to "shorten" things:
function setup_event(elem, eventType, handler)
{
(elem.addEventListener || elem.attachEvent)((elem.attachEvent ? "on" : "") + eventType, handler, false);
}function detach_event(elem, eventType, handler)
{
(elem.removeEventListener || elem.detachEvent)((elem.detachEvent ? "on" : "") + eventType, handler, false);
}This works in MS IE; in Forefox & Opera it doesn't. Why?
------------------------- Don't worry, be happy :o)