选择用 ng-show 显示的输入

Posted

技术标签:

【中文标题】选择用 ng-show 显示的输入【英文标题】:Select input shown with ng-show 【发布时间】:2014-08-08 23:14:24 【问题描述】:

我想将焦点放在使用 ng-show 显示的输入上。但是,这需要在 $digest 循环之后进行 jquery 调用。有谁知道如何在显示项目后运行代码,而不使用 setTimeout() 或类似的东西? 这是问题的一个示例:http://plnkr.co/edit/synSIP?p=preview

【问题讨论】:

您能否具体说明一下您的问题是什么? 对不起。这样更好吗? 【参考方案1】:

你可以写一个简单的指令,不需要jquery:

  yourApp.directive('focusme',function()
   return function(scope,elem,att)
      elem.focus();
   
  );

你可以像这样使用它:

    <input type="text" focusme>

【讨论】:

【参考方案2】:

如果您希望输入在显示时自动聚焦,请使用 html5 自动聚焦属性:

【讨论】:

这是个好主意。一个问题是我们的客户群需要使用不兼容 HTML5 的浏览器。此外,它只会自动选择 ng-repeat'd 列表中的第一个输入。

以上是关于选择用 ng-show 显示的输入的主要内容,如果未能解决你的问题,请参考以下文章

检查对象是否为空,使用ng-show但不能使用控制器?

在量角器中启用 ng-show 值为 true

ng-show和ng-if的区别(从别人博客摘取)

AngularJS 不会验证 ng-show 隐藏的表单元素上的输入

ng-show无法处理窗口滚动

AngularJS:ng-show / ng-hide 不适用于` `插值