我有一個使用angular-ui-bootstrap提供tabs組件的小型SPA。該應用程序通常只顯示顯示應用程序運行狀態的數據,但其中一個選項卡具有輸入字段,該字段在打開該選項卡時應該獲得焦點。angular.element(「inputFieldId」)。focus()不會將焦點放在輸入字段
每個選項卡組件的控制器都有一個「tabOpened」和「tabClosed」函數,當該選項卡打開或關閉時會調用該函數。
在控制器與輸入字段的標籤,我有以下幾點:
$scope.tabOpened = function() {
$timeout(function() {
angular.element("handlerSearchInput").focus();
});
};
值得爭論它是否是合理的,這樣做的控制器,而不是工程某種指令,使「焦點()」呼叫,但這不是我首先需要解決的問題。我的第一個問題是這段代碼實際上不工作。當我打開選項卡時,我可以看到它打到了函數的斷點處,但是該字段沒有獲得焦點。沒有錯誤,它只是不起作用。
我已經在Firefox和Chrome中對此進行了測試。
咄。就是這樣。謝謝。 –