2014-09-01 24 views
2

使用角度我有一組輸入元素在用戶某個操作後出現在dom中,即我使用ng-if來確定它是否應該存在。我希望這些輸入元素中的第一個能夠獲得重點,並且可以選擇其中的文本,以便用戶可以輕鬆地更改該元素中的所有內容。以角度在外觀上選擇輸入文本

在網上搜索我看過幾篇文章說我應該使用focusselect方法或兩者,但我一直沒能得到所需的結果。這裏是我創建的指令:

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

and here是一個plunkr演示。誰能告訴我爲什麼它不起作用?

回答

2

因爲當您的指令初始化時,它們的值尚未附加,因此您應該設置小號$timeout

它的工作原理,你可以在plnkr嘗試

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

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