与其他库一起使用jQuery
概要:
在jQuery库,几乎所有的jQuery插件都被约束在它的命名空间里,通常,“global”对象同样被存储在jQuery命名空间里,因些不会使它与其它库(如:Prototype, MooTools, or YUI)发生冲突。
注意,jQuery用"$"作为它自身的默认快捷方式。
"$"的功能:
当jQuery与其它库被加载后,你也可以不顾它的默认快捷方式而在任意一处通过调用jQuery.noConflict()函数来指定使用jQuery库,例如:
- <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').style.display = 'none';
- </script>
- </head>
- <body></body>
- </html>
这将使$回到它的原始库里,你依然可以在其它的应用程序里使用"jQuery"。
另外,还有其它选项。如果你想确定jQuery不会与其它库冲突——但你又想自定义一个比较短快捷方式,你可以这么做:
- <html>
- <head>
- <script src="prototype.js"></script>
- <script src="jquery.js"></script>
- <script>
- var $j = jQuery.noConflict();
- // Use jQuery via $j(...)
- $j(document).ready(function(){
- $j("div").hide();
- });
- // Use Prototype with $(...), etc.
- $('someid').style.display = 'none';
- </script>
- </head>
- <body></body>
- </html>
你能够自定义你自己的备用名称(如:jq、$J、awesomequery——可以是任何你想要的)。
如果你不想给jQuery自定义其它备用名称(你更愿意使用$而不管其它库的$方法)而又不想与其它库相冲突时,以下的解决方法最常使用的。
- <html>
- <head>
- <script src="prototype.js"></script>
- <script src="jquery.js"></script>
- <script>
- jQuery.noConflict();
- // Put all your code in your document ready area
- jQuery(document).ready(function($){
- // Do jQuery stuff using $
- $("div").hide();
- });
- // Use Prototype with $(...), etc.
- $('someid').style.display = 'none';
- </script>
- </head>
- <body></body>
- </html>
对于你的大部分代码而言,这或许是最理想的方式,因为你可以以改变最少的代码来实现完全的兼容性。
参考:适合jQuery的快捷表示方式
如果你不喜欢总是键入完整的"jQuery",有一些可供替换的快捷方式:
重新指定jQuery为其它快捷方式
- var $j = jQuery;
使用下列方法,可以指定在一块代码内使用"$":
- jQuery(function($) { // some code that uses $ });
备注:同样,在这个代码块里你也还有调用Prototype方法。
相关推荐
EdwardSiCong 2020-11-23
85477104 2020-11-17
hhanbj 2020-11-17
81427005 2020-11-11
seoppt 2020-09-13
honeyth 2020-09-13
WRITEFORSHARE 2020-09-13
84483065 2020-09-11
momode 2020-09-11
85477104 2020-08-15
83510998 2020-08-08
82550495 2020-08-03
tthappyer 2020-08-03
84901334 2020-07-28
tthappyer 2020-07-25
TONIYH 2020-07-22
tztzyzyz 2020-07-20
83510998 2020-07-18
81463166 2020-07-17