当前位置: 首页 > 知识库问答 >
问题:

如何设置焦点在一个角ui模式内的textarea每次打开模式?

方琦
2023-03-14

我有一个textarea在一个角ui模式,需要设置焦点时,模式是可见的,不能在文档加载,因为它只工作在第一次打开模式。

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

更多信息:在某种程度上解决了始终保持对textarea的关注的问题。

但是由于我的模式在动画中有一个淡入淡出,在IE中焦点显示在文本框上方,在外部,我不得不使用timeout到IE来正确设置焦点。那可不太好。更好的办法?

共有1个答案

叶举
2023-03-14

我使用以下版本的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 name="someForm" method="post" novalidate="">
        <fieldset>
            <textarea name="answerField" placeholder="Enter text..."  focus-me="true" ng-model="model.text"></textarea>
        </fieldset>
    </form>
</div>
<div class="modal-footer">
    some footer
</div>
 类似资料:
  • 问题内容: 我已经看到了有关引导程序模式的几个问题,但没有一个完全像这样,所以我继续。 我有一个模态,我这样称呼onclick … 效果很好,但是当我显示模态时,我想关注第一个输入元素……在某些情况下,第一个输入元素的ID为#photo_name。 所以我尝试了 但这无济于事。最后,我尝试绑定到“ show”事件,但是即使如此,输入也不会集中。最后,仅出于测试目的,因为我怀疑这与js加载顺序有关,

  • 考虑到jquery的方式,但我想用angular的方式来实现这一点,我做了一个解决方案,我们使用元素的id在任何函数中设置焦点,所以,由于我在angular方面非常新手,我想了解一些意见,如果这种方式是正确的,有什么问题,无论什么,任何可以帮助我在angular中更好地实现这一点的方法。 基本上,我创建一个指令,监视用户用指令定义的作用域值,或者默认的focusElement,当该值与元素的id相

  • 问题内容: 在查看了如何使用角度设置焦点元素的示例后,我看到它们中的大多数使用一些变量来监视然后设置焦点,并且它们中的大多数对于要设置焦点的每个字段使用一个不同的变量。在具有许多字段的形式中,这意味着存在许多不同的变量。 考虑到jquery的方式,但是想以角度的方式做到这一点,我提出了一个解决方案,我们使用元素的id将焦点设置在任何函数上,因此,由于我在角度上非常陌生,因此我希望得到一些意见那个方

  • 我试图通过编程将焦点设置在(激活)材质ui中菜单组件内的一个菜单项上。我可以通过切换到它来手动完成,但我需要通过编程来响应按键关闭事件。

  • 问题内容: 我让我的游戏在没有鼠标的情况下运行,因此不能使用指针。当玩家输球时将显示高分菜单。 这是我的代码 我努力了 但仍然没有专注于我的。 如何聚焦呢? 问题答案: 如果希望在GUI显示时集中精力,可以使用以下方法: 哪里会是你和你的。

  • 问题内容: 从使用ReactJS的prop验证功能开始,正如文档所说,出于性能原因,该功能仅在“开发模式”下有效。 React似乎正在验证我注释的特定组件的属性,但我不记得显式打开“开发模式”。 我尝试搜索如何触发/切换开发模式,但是没有任何运气。 问题答案: 对方的回答假设您使用外部预建的文件从反应,而正确的,是大多数人不会如何去或 应该 消耗作出反应,一个包。而且,在这一点上,大多数每个Rea