如何在Angular Js中加载DOM后运行Jquery

时间:2016-11-18 10:30:56

标签: jquery angularjs

我使用angular创建了一个单页应用程序(多个)视图,可以加载不同的页面内容。我希望在使用角度脚本时为所有屏幕应用初始焦点,而不是在每个页面表单元素中使用自动焦点属性。

有没有办法做到这一点?

我们如何知道角度视图(DOM)是否已完全加载?

1 个答案:

答案 0 :(得分:5)

在MainCtrl中,您可以在加载角度视图时监听事件。



angular.module('app', [])
  .controller('Controller', function($scope) {

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

  })

.controller('childController', function($scope) {
  
  })

<!DOCTYPE html>

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

  <script src="script.js"></script>
</head>

<body ng-app="app">
  <div ng-controller="Controller">
    <div>
      <div ng-controller="childController">
        <form name="myForm" id="myForm">
          <label>Field1</label>
          <input type="text" ng-model="first" ng-required="true" />
          <br>
          <label>Field2</label>
          <input type="text" ng-model="second" ng-required="is_mobile" />
        </form>
      </div>
    </div>
    <br>

  </div>
</body>

</html>
&#13;
&#13;
&#13;