T-Rex: onclick Funktion beibehalten

Beitrag lesen

Mit dem traditionellen Event-Handling lassen sich mehrere Handler-Funktionen nur über komplizierte Umwege lösen, siehe Nachteile des traditionellen Event-Handlings.

Für solche Fälle solltest du dir eine Helferfunktion zulegen, die je nach Verfügbarkeit die moderneren W3C- oder das Microsoft-Modelle nutzt. Siehe etwa A Good Enough addEvent:

function addEvent (obj, type, fn) {

if (obj.addEventListener) {
      obj.addEventListener(type, fn, false);
   } else if (obj.attachEvent) {
      obj.attachEvent('on' + type, function() {
         return fn.call(obj, window.event);
      });
   }
}


>   
> Anwendungsbeispiel:  
>   
> ~~~javascript

function clickHandler () {  

>    // Meine Handlerfunktion  
> }  
> addEvent(document.getElementById("meinElement"), "click", clickHandler);

Oder mit anonymer Funktion:

addEvent(document.getElementById("meinElement"), "click", function () {

// Meine Handlerfunktion
});


>   
> Mathias  
  
Hallo,  
  
Mensch Mathias....am besten gibst du mir deine ICQ Nummer, denn du hast immer die richtigen Sachen parat. Bislang funktioniert das ausgesprochen super :).  
  
Gibts sowas auch in die andere Richtung? Also eine Bestimmte funktion wegnehmen?  
Beispiel:  
  
onclick = function1(),function2();  
deleteEvent(onclick,function2());  
-> onclick = function1();  
  
vielen Dank  
Gruß  
T-Rex