JavaScript-Event
robertroth
- javascript
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
gibt es eigentlich inzwischen einen JavaScript-Event der feuert, wenn man auf ein Element (value-Attribut) mittels JS eine Zuweisung vornimmt?
Spirituelle Grüße
Euer Robert
robert.r@online.de
Hallo
gibt es eigentlich inzwischen einen JavaScript-Event der feuert, wenn man auf ein Element (value-Attribut) mittels JS eine Zuweisung vornimmt?
Geht das als Änderung durch? Wenn ja, sollte onChange
passen, oder?
Tschö, Auge
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
gibt es eigentlich inzwischen einen JavaScript-Event der feuert, wenn man auf ein Element (value-Attribut) mittels JS eine Zuweisung vornimmt?
Geht das als Änderung durch? Wenn ja, sollte
onChange
passen, oder?
Leider nein. Ich habe alle Events aus der Auflistung im Wiki durchprobiert, die mir irgendwie möglich erschienen.
onChange tut es nur, wenn das Eingabefeld den Focus verliert und eine Änderung vorgenommen wurde. onBlur trifft zu, wenn der Focus verloren geht. Ich brauche aber einen Event, der eintritt, wenn eine Änderung durch Zuweisung (also ohne den Focus zu bekommen oder zu verlieren) stattgefunden hat/stattfindet. Im Hintergrund mag es den sogar geben, so wie z.B. beim src-Attribut eines Images. Wenn man das ändert, wirkt es sich ja auch sofort aus, aber man kann es nicht abfragen und für einen eigenen Handler nutzbar machen. Bei <input> und dem value-Attribut sieht es ähnlich aus. Im Hintergrund sofortige Auswirkung aber scheinbar nicht abfragbar.
Spirituelle Grüße
Euer Robert
robert.r@online.de
@@robertroth
gibt es eigentlich inzwischen einen JavaScript-Event der feuert, wenn man auf ein Element (value-Attribut) mittels JS eine Zuweisung vornimmt?
Wozu denkst du so etwas zu brauchen?
Wenn du mit JavaScript Attributwerte änderst, kannst du doch auch dann noch eine andere Funktion aufrufen.
LLAP
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
gibt es eigentlich inzwischen einen JavaScript-Event der feuert, wenn man auf ein Element (value-Attribut) mittels JS eine Zuweisung vornimmt?
Wozu denkst du so etwas zu brauchen?
Wenn du mit JavaScript Attributwerte änderst, kannst du doch auch dann noch eine andere Funktion aufrufen.
Nur so nebenbei drüber nachgedacht: gehört der Value eines Elementes auch zu den Attributen?
Ich will für den Fall, dass sich ein Wert ändert, eine Aktion ausführen lassen.
Nehmen wir einfach mal an, dass ich einen Trigger auf dem Value eines Inputfeldes haben möchte.
Spirituelle Grüße
Euer Robert
robert.r@online.de
@@robertroth
… ein Element (value-Attribut) … Nur so nebenbei drüber nachgedacht: gehört der Value eines Elementes auch zu den Attributen?
Du sprachst vom „value-Attribut“. Was soll den „der Value eines Elementes“ sonst sein, wenn nicht der Wert des value-Attributs. Oder meinst du den Elementinhalt?
Ich will für den Fall, dass sich ein Wert ändert, eine Aktion ausführen lassen.
Nehmen wir einfach mal an, dass ich einen Trigger auf dem Value eines Inputfeldes haben möchte.
Wodurch sollte sich denn der Wert ändern?
Durch Nutzereingaben. Dann feuert das change-Event u.a.
Durch ein JavaScript. In diesem kannst du aber auch gleich auf die durch ebendieses Script ausgelöste Änderung reagieren.
LLAP
Liebe Mitdenker, liebe Wissende, liebe Neugierige,
Ich will für den Fall, dass sich ein Wert ändert, eine Aktion ausführen lassen.
Nehmen wir einfach mal an, dass ich einen Trigger auf dem Value eines Inputfeldes haben möchte.Wodurch sollte sich denn der Wert ändern?
Durch Nutzereingaben. Dann feuert das change-Event u.a.
Durch ein JavaScript. In diesem kannst du aber auch gleich auf die durch ebendieses Script ausgelöste Änderung reagieren.
Das wäre dann ein direkter Aufruf.
Ich möchte einen indirekten Aufruf ermöglichen.
Spirituelle Grüße
Euer Robert
robert.r@online.de
Hallo robertroth,
Ich möchte einen indirekten Aufruf ermöglichen.
Du kannst Events auch von Hand auslösen:
var el = document.getElementById('inputElement');
var ev = new Event('change');
el.dispatchEvent(ev);
Eine Liste der Events und deren Objekt gibt es in der MDN. Die hat auch ein Howto, sehe ich gerade. Vorsicht, der IE hat hier wieder was eigenes wieder gebaut, ich weiss nicht inwieweit welcher IE jetzt welche API unterstützt.
Ich würde raten da jQuery einzusetzen, da wird das Event-Handling nochmal deutlich einfacher und von den unterschiedlichen Browser-APIs weg abstrahiert:
$("#inputElement").trigger('change');
LG,
CK
Hallo Gunnar,
- Durch ein JavaScript. In diesem kannst du aber auch gleich auf die durch ebendieses Script ausgelöste Änderung reagieren.
Klar, kann man. Ich könnte jetzt natürlich auch riesige Funktionen schreiben, die jede Eventualität abdecken. Oder ich wiederhole Code sehr oft.
Aber schön ist anders. Bessere Modularisierung bekommt man oft durch Events.
LG,
CK