我有一个使用Prototype的遗留网站。但我想另外使用JQuery。当他们都覆盖$
符号时,我如何使用Prototype和JQuery在同一页上?在网站上冲突的JQuery和原型
1
A
回答
4
默认情况下,jQuery使用“$”作为“jQuery”的快捷方式。但是,您可以通过在jQuery和其他库都加载后的任何时刻调用jQuery.noConflict()来覆盖该默认值。例如:
<html>
<head>
<script src="prototype.js"></script>
<script src="jquery.js"></script>
<script>
jQuery.noConflict();
// Use jQuery via jQuery(...)
jQuery(document).ready(function(){
jQuery("div").hide();
});
// Use Prototype with $(...), etc.
$('someid').hide();
</script>
</head>
<body></body>
</html>
1
到Elementenfresser的答案类似,我建议使用jQuery.noConflict的顶部();你可以用一个匿名函数包装整个jQuery代码,保持所有jQuery代码完整无需将所有“$”改为“jQuery”。
jQuery.noConflict();
(function($){
$("div").hide(); //will use jQuery
})(jQuery);
$("div").hide(); //will use prototype
jQuery("div").hide(); //will use jQuery again.
你可以将所有使用jQuery的javascript文件封装到匿名函数中。你根本不需要把$改成jQuery。这也是一个性能改进,因为在函数中声明的所有变量都不会附加到全局范围 - 使您的应用程序更快。
2
除了使用.noConflict()
的方法,你也可以范围你的jQuery代码。
<script>
(function($) {
//write your jQuery code here.
})(jQuery);
</script>
2
如果你希望能够使用一些速记
,做
var j$ = jQuery.noConflict();
现在你可以使用Ĵ$,而不是$的jQuery
相关问题
- 1. jquery和原型冲突
- 2. jQuery UI和原型冲突
- 3. jquery原型冲突
- 4. Jquery +原型冲突
- 5. jQuery和原型之间的冲突
- 6. 原型和jQuery之间的冲突
- 7. Jquery Datatables与原型冲突
- 8. Jquery与原型冲突
- 9. jQuery与原生原型的冲突
- 10. Silverstripe Userforms原型和jQuery冲突
- 11. 冲突Bootstrap,原型Js和Jquery
- 12. mootools和原型冲突
- 13. 只有在ie8 jquery原型冲突
- 14. EF 5和网站冲突
- 15. JavaScript对象与jquery冲突的原型?
- 16. 冲突jquery影响我的网站?
- 17. 轨使用RJS原型冲突与jQuery
- 18. jQuery没有与原型Selenium冲突
- 19. 与jQuery +原型+ Opera/IE冲突
- 20. C++类的原型冲突
- 21. 冲突在同时使用jQuery和原型
- 22. 原型/ Mootools冲突问题
- 23. 冲突与JavaScript原型
- 24. 如何避免JQuery和原型之间的冲突
- 25. JQuery与WordPress网站上的两个点击脚本冲突
- 26. 找不到扩展,导致joomla网站上的JQuery冲突
- 27. kentico网站和DesignMode css冲突
- 28. 原型/ jQuery没有冲突IE8问题lightview和旋转器
- 29. Ajax即时通讯聊天信使冲突betn JQuery和原型
- 30. 使用jslider原型和noConflict时jQuery冲突