molily: Attribut entfernen/löschen

Beitrag lesen

Hallo,

es gibt verschiedene Modelle fürs Event-Handling:

Zum einen das Traditionelles Event-Handling. Schema:

element.onevent = handler;

Beim traditionellen Event-Handling kannst du die Event-Überwachung so beenden:

element.onevent = null;

Dann gibt es das W3C-Modell (DOM Events). Schema:

element.addEventListener('event', handler, false);

Bei DOM Events kannst du das Event-Handling so beenden:

element.removeEventListener('event', handler, false);

Du solltest dich für ein Modell entscheiden, am besten das W3C-Modell (Gründe).

  d.onmousedown = resizeright;  
  d.onmouseup = backnormal;  

function resizeright() {
document.getElementById(this.id).innerHTML = 'Rechts<br><br><br>Super!';
}

function backnormal() {
document.getElementById(this.id).removeEventListener("onmousedown", resizeright, false);
document.getElementById(this.id).innerHTML = 'Normal<br><br><br>Super!';
}

Auf was soll hier »this« verweisen? Auf ein Objekt von dir oder auf das Elementobjekt?

In Event-Handlern hast du direkt über »this« Zugriff auf das verarbeitende Element. Ein Holen eben dieses Elements über document.getElementById ist nicht nötig.

Wenn du willst, dass »this« im Handler auf ein anderes Objekt zeigt, so musst du dich mit Funktions-Binding beschäftigen. Siehe dazu Objektverfügbarkeit und this-Kontext.

Viele Grüße,
Mathias