glowhead: ausführ-reihenfolge innerhalb der EventHändlern????

moin liebes forum!
gibt es eine Reihenfolge, in welcher EventHändlern ausgeführt werden?
hab innem button 4 events, scheinbar wird der onclick nach onblur ausgeführt, denn sonst müste eine variable meiner funktionen anders gesetzt sein!!!
kommt das durch ne alphabetische reihenfolge und welche möglichkeiten hab ich darauf einzuwirken???
danke im vorraus mfg glowhead

  1. Hallo Glowhead,

    gibt es eine Reihenfolge, in welcher EventHändlern ausgeführt werden?

    die event-Handler werden halt einfach in der Reihenfolge ausgeführt, in der auch die Ereignisse eintreten. Deshalb heißen sie ja event-Handler. Bei einem Button heißt das konkret:

    • onMouseOver sobald die Maus den Button "berührt"
    • onMouseMove immer wenn sich die Mauskoordinaten ändern und nach der Änderung im Bereich des Buttons liegen
    • onMouseDown sobald die Maustaste auf dem Button gedrückt wurde
    • onMouseUp sobald die Maustaste auf dem Button losgelassen wurde
    • onClick sobald die Maustaste auf dem Button gedrückt und wieder losgelassen wurde (Der Mauszeiger muss sich dabei sowohl beim Drücken, als auch beim Loslassen über dem Button befinden)
    • onFocus sobald der Button den Eingabefokus erhält, d.h. durch die Eingabetaste "gedrückt" werden könnte
    • onBlur sobald der Button den Eingabefokus verliert

    hab innem button 4 events, scheinbar wird der onclick nach onblur ausgeführt, [...]

    onclick und onblur sind zwei vollkommen Unterschiedliche event-Handler, die auf unterschiedliche Ereignisse reagieren. Das einzige, wo ich mir "Interpretationsspielraum" denken könnte, wäre bei onmouseup vs. onclick und bei onmousedown vs. onfocus. Hier könnte es bei den entsprechenden Ereignissen sein, dass nicht genau festgelegt ist, welcher event-Handler zuerst ausgeführt wird. Sonst ist die Reihenfolge, in der die event-Handler in Kraft treten, gleich der Reihenfolge, in der die Ereignisse vom Benutzer ausgeführt werden.

    Poste doch mal deinen (bitte stark vereinfachten) Code. Vielleicht hat sich irgendwo ein Fehler versteckt.

    Robert

  2. moin liebes forum!

    Moin glowhead,

    gibt es eine Reihenfolge, in welcher EventHändlern ausgeführt werden?

    sicher gibt es die - wird meist durch die logische Reihenfolge des Eintretens der einzelnen Ereignisse bestimmt.

    hab innem button 4 events,

    welche denn?

    scheinbar wird der onclick nach onblur ausgeführt, denn sonst müste eine variable meiner funktionen anders gesetzt sein!!!

    sicher!? Quellcode...?

    kommt das durch ne alphabetische reihenfolge

    nein!
    Beispiel (User klickt einen Button):
    1. onmousedown
    2. onmouseup
    3. onclick

    und welche möglichkeiten hab ich darauf einzuwirken???

    auf die Reihenfolge, in der Ereignisse auftreten? Keine!
    Aber du kannst ja z.B. Ereignisse abfangen und mit dem event-Objekt in einer (mehreren) Funktion(en) auswerten.

    danke im vorraus mfg glowhead

    Gruß Gunther