我有一個使用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衝突