在出现角度时选择输入文本

时间:2014-09-01 12:42:09

标签: angularjs

使用angular我有一组输入元素在某个用户操作后出现在dom中,即我使用ng-if来确定它是否应该存在。我希望这些输入元素中的第一个能够获得焦点,并且选择其中的文本,用户可以轻松地更改该元素中的所有内容。

在网上搜索我看过几篇帖子说我应该使用focusselect方法或两者兼而有之,但我还没有达到预期效果。这是我创建的指令:

app.directive('selectMe', function() {
  return function(scope, element) {
    element[0].focus();
    element[0].select();
  };
})

here是一个傻瓜演示。谁能告诉我它为什么不起作用?

1 个答案:

答案 0 :(得分:2)

因为当您的指令初始化时,它们的值尚未附加,因此您应该设置小$timeout

它可以,你可以尝试在plnkr

app.directive('selectMe', function($timeout) {
  return function(scope, element) {

    $timeout(function() {
      var ele = element[0];
     ele.focus();
     ele.select();
  }, 500)