我创建了一个类似于我以前做过的其他许多其他功能,我在$ event中通过其放置的控制器和元素的函数中通过了$ event callNG变化事件的HTML,但控制台说$ event在所有浏览器中都是未定义的。
html:
<select data-ng-change="determineAbsenceInputs($event)"
JS:
$scope.determineAbsenceInputs = function($event) {
console.log($event.target);
}
在JSfiddle中也返回相同的内容:http://jsfiddle.net/adukg/16190/。
像我使用过的所有其他功能一样写入事件目标及其属性,但无法弄清楚为什么仅对此功能发生这种情况。
来自 issue
ng-change不是处理变更事件的指令(我意识到 给定名称令人困惑),但实际上是 已通知ngmodelController。$ setViewValue() 价值变化(因为ng-change将听众添加到 $ viewchangelisteners集合)。所以这是预期的。
您应该使用ng模型
<select data-ng-change="determineAbsenceInputs(selectedAbsenceType)" data-ng-model="selectedAbsenceType" id="absenceTypeSelect" name="absenceTypeSelect" material-select watch class="validate" required>
WORKING DEMO