当前位置: 首页 > 面试题库 >

在ng-show之后将焦点设置在输入字段上

顾亦
2023-03-14
问题内容

数据加载后是否可以通过控制器设置输入字段的焦点(在这种情况下,通过$ resource)?

通过ng-show隐藏输入,直到从API返回数据为止,但是我找不到将焦点设置在输入上的方法。我知道输入的ng-
model名称,以及输入名称,这意味着我可以通过jQuery来做到这一点,但我宁愿使用AngularJS方式来做到这一点。

我在这里尝试了很多指令示例,但是它们似乎都集中在1.2 ng之前,或者首先依靠ng-click进行单击(在我的情况下是不可能的),或者只是行不通。
非常感谢收到任何提示。


问题答案:

这是一个简单的指令,可能对您有用

<input focus-on="!!myResourceData" />

.directive('focusOn',function($timeout) {
    return {
        restrict : 'A',
        link : function($scope,$element,$attr) {
            $scope.$watch($attr.focusOn,function(_focusVal) {
                $timeout(function() {
                    _focusVal ? $element[0].focus() :
                        $element[0].blur();
                });
            });
        }
    }
})


 类似资料:
  • 问题内容: 呈现组件后,将焦点设置在特定文本字段上的反应是什么? 文档似乎建议使用引用,例如: 在渲染函数中的输入字段上进行设置,然后调用: 但是我应该在哪里称呼它?我已经尝试了几个地方,但无法正常工作。 问题答案: 您应该这样做,而不是。像这样

  • 我应该让我的组件“受控”吗?什么是“最佳实践”?

  • 问题内容: 呈现组件后,将焦点设置在特定文本字段上的反应方式是什么? 文档似乎建议使用引用,例如: 在渲染函数中的输入字段上进行设置,然后调用: 但是我应该在哪里称呼它呢?我已经尝试了几个地方,但无法正常工作。 问题答案: 您应该这样做,而不是。像这样

  • 与设计某种指令来进行“focus()”调用相比,在控制器中执行此操作是否合理值得争论,但这不是我首先需要解决的问题。我的第一个问题是这段代码实际上不起作用。当我打开选项卡时,我可以看到它击中了函数中的断点,但该字段没有获得焦点。没有错误,只是不起作用。 我已经在Firefox和Chrome中测试过了。

  • 问题内容: 我有一个用netbeans开发的应用程序,我想在显示面板时将焦点设置为一定。我已经阅读了许多文章,并尝试了各种方法,但没有奏效。主要问题之一是在哪里放置所需的代码,我认为在我的情况下是 有一些指示使用Window Listener的帖子,但是随着netbeans生成GUI,我无法看到如何实现接口,因为我无法编辑创建jPANEL等的代码。整个过程非常令人沮丧,我真的没有相信这应该很困难。

  • 我有一个EditText-Field,并为它设置了一个OnFocusChangeListener。当它失去焦点时,将调用一个方法,该方法用数据库中的EditText检查EditText的值。如果方法的return-value为true,则显示一个toast并且焦点应该再次回到EditText上。焦点应该总是回到EditText上,键盘应该显示,直到方法的return-value为false。 ed