随笔 - 1330  文章 - 1  评论 - 378  阅读 - 482万 
 概要:
  在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;  
 如果你想使用其它不同的库,这或许是最好的方法。
  使用下列方法,可以指定在一块代码内使用"$":
function($) { // some code that uses $ })(jQuery)  
 备注:如果你使用了这种方法,在这块代码中你将不能使用"$"来调用Prototype方法,因为你选择了在这块代码中唯一使用jQuery方法。
  使用以下方法来实现DOM ready event:
jQuery(function($) { // some code that uses $ });  

  备注:同样,在这个代码块里你也还有调用Prototype方法。


转自:http://www.javaeye.com/topic/84683

posted on   钱途无梁  阅读(498)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示