ng-focus不适用于<button>标记

时间:2016-02-24 08:44:12

标签: javascript html angularjs

ng-focus 不适用于所有浏览器中的按钮,我是否知道是否还有其他功能,例如 ng-focus for <button> ,因为我需要在焦点事件上添加属性到按钮。我也试过onfocus()事件。

2 个答案:

答案 0 :(得分:2)

DEMO

只需像这样使用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>