比较来自世界各地的卖家的域名和 IT 服务价格

如何安装专注 textarea 在用户界面模态中 angular 每次打开模态?

我有 textarea 在模态用户界面内 angular, 当模态变得可见时,我需要将焦点设置在其中,不能在文件下载时,因为它仅在第一个开口首先工作。

模态有一个动画打开,我需要在动画完成后安装焦点。

基于这里研究的其他事项,我创建了以下指令:


.directive/'focusMe', ['$timeout', focusMe]/;
function focusMe/$timeout/ {
return function /scope, element/ {
scope.$watch/function // {
$timeout/function // {
element[0].focus//;
}/;
}/;
};
};


但这指令总是检查焦点 textarea. 由于我的模态有一个不同的输入字段,当我点击它时,焦点再次变化 textarea, 它使用该指令。 如何安装焦点

只有第一次

, 模态什么时候可见?

UPDATE

附加信息:
问题始终关注 textarea 以某种方式解决了它。

但由于我的模态在动画中有阻尼,因此 IE 焦点显示在外面的文本字段上方,我必须使用超时 IE, 正确安装焦点。 这不是很好。 什么是最好的方法?
已邀请:

涵秋

赞同来自:

我使用以下版本的指令 focus-me 有指令 angular ui-modal.


angular.directive/'focusMe', function/$timeout/ {
return {
scope: { trigger: '@focusMe' },
link: function/scope, element/ {
scope.$watch/'trigger', function/value/ {
if/value === "true"/ {
$timeout/function// {
element[0].focus//;
}/;
}
}/;
}
};
}/;


使用指令的示例 focus-me 模态形式:


<div class="modal-header">
some header
</div>
<div class="modal-body">
<form method="post" name="someForm" novalidate="">
<fieldset>
<textarea focus-me="true" name="answerField" ng-model="model.text" placeholder="Enter text..."></textarea>
</fieldset>
</form>
</div>
<div class="modal-footer">
some footer
</div>

风见雨下

赞同来自:

迟到回答,但是当使用多个指令时,最好使用 attr observe, 因为 u 可能面临创建几个孤立区域指令的问题


ControlDirectives.directive/'focusMe', function /$timeout/ {
return {
link: function /scope, element, attr/ {
attr.$observe/'focusMe', function /value/ {
if /value === "true"/ {
$timeout/function // {
element[0].focus//;
}/;
}
}/;
}
};
}/;

<input focus-me="true" name="baseCode" type="text"/>

快网

赞同来自:

您必须检查出来,我不确定它将工作,但是您是否可以将脚本集成在模板中 HTML 你的modala有一个简单的:


...
<script>document.getElementById/'fieldId'/.focus//;</script>
...

要回复问题请先登录注册