robertroth: JavaScript-Event

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

--
Möge der wahre Forumsgeist ewig leben!
  1. 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

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war. Terry Pratchett, “Wachen! Wachen!
    1. 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

      --
      Möge der wahre Forumsgeist ewig leben!
  2. @@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

    --
    „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
    1. 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

      --
      Möge der wahre Forumsgeist ewig leben!
      1. @@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?

        1. Durch Nutzereingaben. Dann feuert das change-Event u.a.

        2. Durch ein JavaScript. In diesem kannst du aber auch gleich auf die durch ebendieses Script ausgelöste Änderung reagieren.

        LLAP

        --
        „Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)
        1. 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?

          1. Durch Nutzereingaben. Dann feuert das change-Event u.a.

          2. 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

          --
          Möge der wahre Forumsgeist ewig leben!
          1. 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

        2. Hallo Gunnar,

          1. 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