在实现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函数触发
答案 0 :(得分: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,因此使用上面的解决方案进行注入。
问题的细节应该更好,我的不好。