在 Web 应用程序中,我使用 Angular Material 的对话框。它只包含一个文本区域,最初是空的。当用户打开模式对话框时,我想自动关注文本区域。我能怎么做?这是我的代码,但它不起作用。我也做了一个指令,但它还不起作用。
模态对话框的HTML:
<md-dialog-content>
<div class="md-dialog-content">
<md-input-container>
<label>My textarea</label>
<textarea ng-model="myText" md-maxlength="5000" auto-focus></textarea>
</md-input-container>
</div>
</md-dialog-content>
自动对焦指令:
angular.module('app').directive("autoFocus", function($timeout) {
return {
restrict: 'AC',
link: function(_scope, _element) {
$timeout(function(){
_element[0].focus();
}, 0);
}
};
})
这是控制器中对话框的配置:
$mdDialog.show({
controller:texateaController,
templateUrl: 'texatea.html',
parent: angular.element(document.body),
targetEvent: event,
clickOutsideToClose: false
}
})