2

在实现 noConflict 的任何方法时遇到一些问题。我不确定发生了什么,jQuery CDN 在 Angularjs CDN 之前加载,也是我尝试在任何 Angularjs 文件(控制器等)之前使用 Jquery 加载的文件。

尝试实现此功能时,没有 jQuery 函数在工作。

有谁知道发生了什么?

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="../public/JS.js"></script>
<script src="../public/js/bootstrap.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.1.5/angular.min.js"></script>
<script type="text/javascript" src="../public/javascript/comsumer.js"></script>
<script type="text/javascript" src="../public/javascript/controllers.js"></script>
<script type="text/javascript" src="../public/javascript/services.js"></script>
<script type="text/javascript" src="../public/javascript/directives.js"></script>

这是调用文件的顺序。

提前感谢您提供的任何帮助。

不工作的代码 - 所有 noConflict

<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
  // Code that uses jQuery's $ can follow here.
  });
 // Code that uses other library's $ can follow here.
</script>

jQuery.noConflict();
 jQuery(".test").hide();

jQuery.noConflict();
 (function($) {
   $(function() {
     // more code using $ as alias to jQuery
      $(".test").hide();
   });
})(jQuery);
  // other code using $ as an alias to the other library

 var j = jQuery.noConflict();
   j(".test").hide();

最后

var dom = {};
dom.query = jQuery.noConflict(true);
   dom.query(".test").hide();

似乎没有一个工作,我把它们放在我的 JS 文件中,没有一个 jQuery 函数正在触发

4

1 回答 1

0

答案正盯着我的脸。问题是 angularjs SPA“注入”了具有我想在其上使用 jQuery 的 DOM 元素的视图,所以仍然使用 .noConflict(),我不得不使用类似的东西。

全球

<script type="text/javascript">
     var j = $.noConflict();
</script>

这个在 JS 文件中

j(document).off("click",".jtest",testclick ).on("click", ".jtest",testclick);

Jquery 仅在加载时看到当前 DOM,因此使用上述解决方案注入它是有效的。

问题的细节应该更好,我的错。

于 2013-08-02T08:39:40.647 回答