Vue: Das Event-Dispatching erfolgt nicht in der richtigen Reihenfolge?

Erstellt am 29. Juli 2016  ·  3Kommentare  ·  Quelle: vuejs/vue

Vue.js-Version

1.0.26

Reproduktionslink

http://codepen.io/anon/pen/akjNbW

Schritte zum Reproduzieren

  1. Klicken Sie auf die Eingabe
  2. Versuchen Sie, auf die Schaltfläche zu klicken

    Was wird erwartet?

Ein Click-Ereignis, das ausgelöst werden soll, und dann die Unschärfe, um fortzufahren.

Was passiert eigentlich?

Ein Blur-Event wird aufgerufen und das Click-Event verworfen.


Ich habe keine Ahnung, ob dies mit Vue zusammenhängt oder wie der Browser mit den Ereignisdelegationen umgeht. Obwohl ich dies mit Firefox, Chrome, IE und Edge getestet habe, haben sie sich ALLE gleich verhalten.

Jeder Hinweis wäre sehr willkommen.
Vielen Dank im Voraus.

Hilfreichster Kommentar

Dies ist ein Standardverhalten des Browsers. Vielleicht möchten Sie stattdessen auf das Ereignis mousedown lauschen.

Ein richtiger Weg wäre, eine kompliziertere Logik zu verwenden:

  • Geben Sie der Schaltfläche einen Moment Zeit, um nach der Eingabeunschärfe zu verschwinden.
  • Erzwingen Sie, dass die Schaltfläche sichtbar ist, wenn die Schaltfläche selbst fokussiert ist.

Alle 3 Kommentare

Dies ist eine interessante Frage.
Ich denke, das klickbezogene Keydown löst die Unschärfe bei der Eingabe aus, noch bevor das Klickereignis ausgelöst wird.

Heikel.

Dies ist ein Standardverhalten des Browsers. Vielleicht möchten Sie stattdessen auf das Ereignis mousedown lauschen.

Ein richtiger Weg wäre, eine kompliziertere Logik zu verwenden:

  • Geben Sie der Schaltfläche einen Moment Zeit, um nach der Eingabeunschärfe zu verschwinden.
  • Erzwingen Sie, dass die Schaltfläche sichtbar ist, wenn die Schaltfläche selbst fokussiert ist.

mousedown Veranstaltung reicht denke ich, vielen Dank @simplesmiler !

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen