一尘不染

AngularJS如何在内部捕获“ onclick”,“ onchange”等事件?

angularjs

我在输入元素中使用了“ ng-model”,并用chrome
inspector观察了该元素。但是输入元素的每个onxxx属性(包括onchange)都是空的。然后,AngularJS如何捕获用户输入触发的“
onchange”事件?


阅读 485

收藏
2020-07-04

共1个答案

一尘不染

如果在Chrome的“事件监听器”标签中检查了标准文本输入元素(已附加ng-
model),则会看到该元素具有两个事件监听器:$destroyinput

默认情况下,Angular侦听input事件,如果浏览器不支持Angular,它将回退为keydown+ change事件。

事件是使用jQlite的bind方法绑定的(除非您还包括完整的jQuery,在这种情况下,它的bind方法将接管)。

您可以自己检查的示例输入元素位于输入[email]指令文档页面上。

Angular源(v1.2.0rc1)中的确切行负责处理输入事件。

2020-07-04