Ich habe "ng-model" im Eingabeelement verwendet und dieses Element mit dem Chrom Inspector beobachtet. Aber alle onxxx-Eigenschaften (einschließlich onchange) des Eingabeelements waren null. Wie kann AngularJS dann das "onchange" -Ereignis durch Benutzereingaben erfassen?
Wenn Sie auf der Registerkarte Event Listeners von Chrome ein Standard-Texteingabeelement (mit angehängtem ng-Modell) überprüfen, werden zwei Ereignis-Listener angezeigt: $destroy
und input
.
Angular lauscht standardmäßig auf input
event und wird, falls es vom Browser nicht unterstützt wird, auf keydown
+ change
events zurückgesetzt.
Ereignisse werden mit der Bind-Methode von jQlite verknüpft (es sei denn, Sie haben auch eine vollständige jQuery-Komponente, in diesem Fall wird die Bind-Methode übernommen).
Ein Beispiel für ein Eingabeelement, das Sie selbst überprüfen können, finden Sie in der Eingabe [email] Richtlinie Seite.
Genaue Linie in der Winkelquelle (v1. 2.0rc1) verantwortlich für die Behandlung des Eingabeereignisses.
Sie können Ereignis-Listener an jeden DOM-Knoten anfügen, indem Sie Folgendes verwenden:
node.addEventListener (eventName, listenerMethod, useCapture)
Während Sie node.onchange eine Methode mit addEventListener zugewiesen haben, müssen Sie einen Event-Listener an das Ereignis "change" oder "click" anhängen.
Siehe: Ссылка
Tags und Links angularjs