flashnfantasy: Dynamisch Eventhandler einem HTML-Objekt hinzufügen

Beitrag lesen

Sollte für alle Browser funktionieren

function addEvent(obj, evType, fn) {
  if (obj.addEventListener)
  {
    obj.addEventListener(evType, fn, false);
    return true;
  }
  else if (obj.attachEvent)
  {
     var r = obj.attachEvent("on"+evType, fn);
     return r;
  }
  else
  {
    return false;
  }
}

function removeEvent(obj, evType, fn) {
  if (obj.addEventListener)
  {
    obj.removeEventListener(evType, fn, false);
    return true;
  }
  else if (obj.attachEvent)
  {
     var r = obj.detachEvent("on"+evType, fn);
     return r;
  }
  else
  {
    return false;
  }
}

function getEventTarget(e) {
return (e.target) ? e.target : e.srcElement

------------------------------

Bsp für HTML-Knopf, der bei Mouseover Aufleuchtet und bei Mouseout die Originalfarbe annimmt.

function ButtonEnter(e)
{
  var node = getEventTarget(e);
  node.style.backgroundColor = styleOfBackground(gstylehi);
}

function ButtonLeave(e)
{
  var node = getEventTarget(e);
  node.style.backgroundColor = styleOfBackground(gstylebu);
}

function makeButton(node)
{
    addEvent(node,"mouseover",ButtonEnter);
    addEvent(node,"mouseout",ButtonLeave);
}