ng-focus 不适用于所有浏览器中的按钮,我是否知道是否还有其他功能,例如 ng-focus for <button>
,因为我需要在焦点事件上添加属性到按钮。我也试过onfocus()
事件。
答案 0 :(得分:2)
只需像这样使用ng-focus
<input type="button" ng-focus="vm.onFocus()" value='test'>
确保您从控制器中公开了该功能
app.controller('MainController', function(){
this.onFocus = function(){
console.log('focused');
}
});
答案 1 :(得分:1)
单击此按钮时,Ng-focus将立即生效,因为以下原因
当您单击按钮焦点事件触发器时,只有当鼠标光标在该特定控件上时触发焦点事件,然后如果您单击按钮区域以外的区域,则会触发ng-blur事件 如果你想在鼠标经过按钮时触发该事件,那么你应该使用ng-mouseover进入按钮,使用ng-mouseleave离开按钮
<div ng-app ng-init="focus=false;blur=false;active=false">
<button
tabindex="1"
ng-class="{ myFocus: focus, myBlur: blur }"
ng-mouseover="focus=true;blur=false;"
ng-mouseleave="blur=true;focus=false;"
value="Click me"
>
Click me
</button>