编辑@CristiBerceanu 是对的 - 您应该使用内置的 ng-focus 指令。但是,请将此答案作为您要绑定的任何丢失事件的指南。
您必须创建一个指令:
angular
.module('MyModule', [])
.directive('onFocus', function(){
return {
restrict: 'A',
scope: {
'focus': '&onFocus'
},
link: function($scope, $element, $attributes) {
var focus = function(event) {
$scope.focus({'$event': event});
};
$element.on("focus", focus);
$scope.$on('$destroy', function(){
$element.off('focus', onClick);
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
注意事件是如何通过 jquery 绑定到指令中的,而不是直接绑定到控制器中的。此外,请注意绑定表达式使用&前缀(可评估表达式绑定)而不是常规前缀@(如(文本绑定)或=(范围属性引用、双向、绑定)进行绑定)。
有一个内置的角度指令ngFocus 这里也许帮助,如果你将其连接到身体
<window, input, select, textarea, a
ng-focus="">
...
</window, input, select, textarea, a>
Run Code Online (Sandbox Code Playgroud)
编辑:对于窗口焦点,有$window包装器,您可以执行以下操作:
$window.onfocus = function(){
console.log("focused");
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12106 次 |
| 最近记录: |