在此示例代码http://plnkr.co/l6kv7x中,我想将焦点移到文本输入中,并在用户单击“编辑”按钮时选择内容,但是我没有弄清楚如何在AngularJS中做到这一点。

最佳答案

这个问题与AngularJS - Focusing an input element when a checkbox is clicked非常相似,因此这是一个非常相似的解决方案:一个focus指令,该指令将editing作为属性:

app.directive('focus', function() {
    return function(scope, element, attrs) {
        scope.$watch(attrs.focus, function(newValue) {
            newValue && element[0].focus()
        })
    }
});


正如@Josh所指出的,我们可以通过使用element [0]访问原始DOM元素来使用本机DOM focus()方法-元素本身是包装的jqLit​​e(或jQuery,如果已加载)元素。

HTML:

<input ng-show="editing" type="text" ng-model="text" value="{{text}}"
  focus="editing">


Fiddle

关于javascript - 如何处理AngularJS中文本输入的条件焦点和选择?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14182297/

10-13 05:56