【问题标题】:How to use document ready in Typescript angular controller如何在 Typescript 角度控制器中使用准备好的文档
【发布时间】:2017-04-02 08:42:40
【问题描述】:

我尝试在 Typescript 父控制器中应用以下代码,但它不起作用。

我错过了什么吗?

 angular.element(document).ready(function() {
            $('form').find('input[type=text],textarea,select').filter(':visible:first').focus();
     });

【问题讨论】:

  • 为什么不能使用tabindex来获取焦点?
  • 我只想将焦点应用于所有页面的第一个表单元素。如果我使用自动对焦,我必须应用每一页。寻找通用选项。
  • 我相信 tabindex 将适用于可见表单。因此,在给定时间,一个 1 表单是可见的,该表单将获得焦点。现在,如果每页确实有多个可见的表单,它应该将焦点放在第一个表单的第一个可聚焦元素上。试图理解为什么雾浏览器支持的通用开箱即用功能是不够的。你有一个不可聚焦的元素吗?
  • 好的,谢谢.. 这里的示例和寻找第一个控件必须在切换页面时集中注意力。你能在这里请你的逻辑fiddle.jshell.net/95wEL/42
  • 您可以使用 querySelector:fiddle.jshell.net/4k0e1e7q

标签: jquery angularjs typescript


【解决方案1】:

在您的 AngularJS 调用其 angular.element(document).ready 方法之前,您的 jQuery 似乎没有完成加载。

尝试调用 jQuery $(document).ready 方法并检查哪个首先触发,就像我在这个小 Plnkr 中所做的那样:http://plnkr.co/edit/Ubw0w2mo7wkPZwBld82N?p=preview

在确保两者都为我准备好之后执行 jQuery 方法(在 Safari 版本 10.1 和 Chromium 版本 57.0.2978.0 中测试) http://plnkr.co/edit/Oe5dcFmhLPaatoI2qXBr?p=preview

但是,一般来说,不需要 jQuery,您可能需要考虑仅使用 AngularJS 的解决方案。

【讨论】:

  • 减去一个答案而不说明为什么应该是违规
猜你喜欢
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多