我想在应用中的所有input
上观看焦点事件。
这样的事情:
$scope.$watch('input',function(e){
if(e.focus){
// do stuff
}
});
任何想法如何做到这一点?
答案 0 :(得分:2)
你没有注意一个事件,你听它。另外,搞乱DOM是指令的任务。因此,这个答案使用指令方法。你可以发出一个事件或做所有的事情"内部。
angular.module('app', [])
.directive('input', function() {
return {
restrict: 'E',
link: Link
};
function Link(scope, elem, attrs) {
elem.on('focus', function() {
// do stuff
console.log(elem[0].name + ' has been focused!');
});
}
});

<div ng-app="app">
<label for="input1">input1</label>
<input name="input1" type="text">
<label for="input2">input2</label>
<input name="input2" type="text">
</div>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
&#13;