Rolf B: onkey down event handler

Beitrag lesen

Hallo AngularTool,

ja ok, an Angular habe ich nicht gedacht. Damit habe ich keine Erfahrung.

Meine Gehversuche mit MVVM habe ich mit knockout.js gemacht.

Hast Du es in Angular nicht in der Hand, wie das Input an das Modell gebunden wird? Normalerweise gehen MVVM Tools doch her und übertragen den Feldinhalt erst ins Modell, wenn das Eingabefeld verlassen wird. Das wäre eine Überlegung wert.

Wenn das nicht hilft, und Angular sich auf keydown oder keypress registriert, bevor dein Code anläuft, bist Du ausgezählt. Es wird sicherlich nicht klappen, vor Angular zum Zug zu kommen.

Es bleibt dann wohl nur ein Hack, oder eine gute Idee der Kollegen hier ;).

Der Hack: Du müsstest dich auf einen Container des input registrieren, und zwar mit true als 3. Parameter von addEventListener (capturing handler). Damit kannst Du erreichen, dass das Event gar nicht erst beim Input ankommt.

Hier bietet sich das Label an, das ein Input sowieso haben sollte. Man kann das for-Attribut von <label> vermeiden, indem man das input als Kindelement des Label setzt:

<label class="digitOnly">Zahlenfolge<br>
<input type="text">
</label>

Wenn Du auf alle Elemente mit class="digitOnly" einen capturing-Handler für keydown legst, könnte der Coup gelingen.

Rolf

--
sumpsi - posui - clusi