AngularJS - 将输入绑定到焦点

时间:2014-07-23 08:38:50

标签: javascript jquery angularjs

在我的主人ng-controller中,我想将所有输入绑定到焦点事件并触发一个函数。到目前为止,我尝试过(并且失败了)的是:

// This makes sense since it is not a bind
$('input').focus(function(){});

// This should work, but doesn't!
$('input').bind('focus', function() {});

我有什么选择?如何将所有input绑定到焦点?

2 个答案:

答案 0 :(得分:4)

您可以将ngFocus指令添加到所有输入字段: https://docs.angularjs.org/api/ng/directive/ngFocus

<input type="text" ng-focus="controllerFunction()"></input>

或者阅读此答案如何全局对所有输入执行此操作: AngularJS: extend input directive

答案 1 :(得分:2)

好的,我最终为此目的使用了一个指令:

app.directive('input', function()
{
    return {
        restrict: 'E',
        link: function(scope, element, attrs)
        {
            element.bind('focus', function(){});
        }
    }
});