在此示例代码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()方法-元素本身是包装的jqLite(或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/