`

解决jQuery和其他库的冲突

 
阅读更多

 

如果你的项目中有多种 JavaScript 库,比如同时存在 prototype.js jquery.js 。为了避免 $ 对象的冲突,我们可以使用 jQuery 中的 .noConflict() 来解决冲突,需要注意引入 JavaScript 库的顺序。

jQuery库在其他库之后导入:

写法 1

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <!-- 引入 Prototype  -->
        <script src="prototype-1.6.0.2.js" type="text/javascript"></script>
        <!-- 引入 jQuery  -->
        <script src="../scripts/jquery-1.2.6.js" type="text/javascript"></script>
        <script type="text/javascript">
            jQuery.noConflict();				//将变量$的控制权让渡给prototype.js
            jQuery(function(){					//使用jQuery
                jQuery("p").css("color","red");		//使用jQuery
                $("pp").style.display = "none";	//这里的$符号是Prototype的方法
            });
        </script>
    </head>
    <body>
        <p id="pp">testpp<p>
        <p>test<p>
    </body>
</html>

 

    写法2:

 

var $j = jQuery.noConflict();          //自定义一个快捷方式
$j(function(){                                 //使用jQuery,利用自定义快捷方式——$j
       $j("p").click(function(){
              alert($(this).text());
        })
})
$("pp").style.display = 'none';        //使用prototype

 

    写法3:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <!-- 引入 jQuery  -->
        <script src="../scripts/jquery-1.2.6.js" type="text/javascript"></script>
        <!-- 引入 Prototype  -->
        <script src="prototype-1.6.0.2.js" type="text/javascript"></script>
        <script type="text/javascript">
            jQuery(function($){
                $("p").css("color","red");			//函数内部的$还是jQuery的$。
            });
            $("pp").style.display = "none";		//函数外部的$是Prototype的$。
        </script>
    </head>
    <body>
        <p id="pp">testpp<p>
        <p>test<p>
    </body>
</html>

 

   写法4:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <!-- 引入 jQuery  -->
        <script src="../scripts/jquery-1.2.6.js" type="text/javascript"></script>
        <!-- 引入 Prototype  -->
        <script src="prototype-1.6.0.2.js" type="text/javascript"></script>
        <script type="text/javascript">
            (function($){
               $("p").css("color","red");			//函数内部的$还是jQuery的$。
            })(jQuery);            
            $("pp").style.display = "none";		//函数外部的$是Prototype的$。
        </script>
    </head>
    <body>
        <p id="pp">testpp<p>
        <p>test<p>
    </body>
</html>
 

jQuery库在其他库之前导入:

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <!-- 引入 jQuery  -->
        <script src="../scripts/jquery-1.2.6.js" type="text/javascript"></script>
        <script language="javascript">
            jQuery.noConflict();					//将变量$的控制权让渡给prototype.js
            jQuery(function(){					//使用jQuery
                jQuery("p").css("color","red");	//使用jQuery
                $("pp").style.display = "none";	//这里的$符号是Prototype的方法。
            });
        </script>
        <!-- 引入 Prototype  -->
        <script src="prototype-1.6.0.2.js" type="text/javascript"></script>
    </head>
    <body>
        <p id="pp">testpp<p>
        <p>test<p>
    </body>
</html>
 
分享到:
评论

相关推荐

    JQuery与其他库的冲突

    解决了Jquery和其他库之间的冲突 第一种方式就是直接使用JQuery,第二种方法是通过返回值来,第三种方式把$号传入,第四种方式通过匿名方式将jquery传入

    解决其他js和jquery冲突方法

    解决其他js和jquery冲突方法 JS和jQuery是两个非常常用的JavaScript库,但是当它们一起使用时,可能会出现冲突。解决这种冲突的方法是使用noConflict()方法将变量$的控制权让渡给其他库。 在开发过程中,可能还会...

    ecshop解决jquery冲突js

    标题中的"ecshop解决jquery冲突js"就直指这个问题,即如何在ECShop环境中解决JQuery与其他JS库的冲突。 JQuery冲突通常源于$符号的全局使用,这是JQuery的核心选择器和函数调用。为了解决这个问题,JQuery提供了`...

    解决jquery与dwr冲突(java/jsp)

    ### 解决jQuery与DWR冲突的方法 在Web开发过程中,经常需要使用多种JavaScript库来实现丰富的前端交互效果。其中,jQuery因其简洁易用的特点而被广泛采用,而DWR(Direct Web Remoting)则是一种简化Java与...

    ecshop和jquery冲突的解决方法

    为了有效地解决Ecshop和jQuery之间的冲突,我们可以采取以下几种策略: 1. **修改jQuery文档加载方式**: - 将jQuery的加载方式改为No Conflict模式,即在引入jQuery时使用`&lt;script src="path/jquery.js"&gt;...

    jQuery与其他JS库或jQuery文件冲突解决方法

    本人亲测,本人网页有两个JS效果,用到了两个jQuery文件(一个是jquery.min.js,另一个是jquery.pack.js),可以两个冲突,只能保留一个。 但效果就只能有一个。我想两个都保留,于是就想了很多办法,查了很多资料,...

    关于jQuery库冲突的完美解决办法

    总的来说,解决jQuery和其他库冲突的关键在于使用`jQuery.noConflict()`来释放或保留`$`的使用权,并根据需要创建新的别名。通过这些方法,开发者可以在一个页面上安全地使用多个JavaScript库,而不必担心命名冲突。

    jquery与js函数冲突的两种解决方法.docx

    在实际应用中,开发者可以根据项目的具体需求选择合适的方法来避免或解决jQuery和其他JavaScript库的冲突,确保代码的正常运行和项目的顺利进行。同时,了解这些解决冲突的策略也是提升JavaScript开发技能的重要一环...

    ecshop解决与jQuery冲突文件

    然而,当ECSHOP与jQuery库结合使用时,可能会出现一些兼容性或冲突问题。本文将深入探讨这些问题,以及如何通过替换`transport.js`文件并引入`json2.js`来解决这些问题。 首先,让我们了解`transport.js`文件在...

    jquery和dwr.utls冲突解决

    通过上述方法之一或结合使用,可以有效地解决jQuery和DWR.utls之间的冲突,确保两者的正常工作。在实际开发中,理解这些技术并灵活应用,可以帮助我们构建更稳定、更可靠的Web应用程序。在遇到类似问题时,应该首先...

    快速解决jQuery与其他库冲突的方法介绍

    通常,当在同一个页面上使用jQuery和其他库时,全局名称$的定义是最大的争论和冲突的焦点。众所周知,jQuery使用$作为jQuery名称的别名,并将其用于jQuery公开的每一个功能,但是其他库,最著名的就是Prototype,也...

    如何解决jQuery 和其他JS库的冲突

    当我们需要在同一个网页项目中使用jQuery和其他JavaScript库时,经常会出现JavaScript库之间的冲突问题。...以上就是如何解决jQuery与其他JavaScript库冲突的方法,在实际开发中可以根据具体情况选择合适的解决方案。

    解决ECSHOP和jquery冲突问题所需文件

    1. **加载顺序**:确保jQuery库在ECSHOP的任何自定义JavaScript代码之前加载。这样,当ECSHOP的代码执行时,jQuery已经创建了自己的命名空间,减少了冲突的可能性。 2. **使用`noConflict()`**:如果ECSHOP的代码...

    ckeditor 和 ckfinder集成,并解决ckeditor和jquery dialog冲突问题

    这篇博客文章“ckeditor 和 ckfinder集成,并解决ckeditor和jquery dialog冲突问题”主要探讨了如何将这两个组件整合在一起,以及如何处理可能出现的前端JavaScript库冲突。 首先,集成CKEditor和CKFinder的目的是...

    json.js 与jquery冲突解决

    1. **使用jQuery的`noConflict`方法**:`$.noConflict()`可以释放`$`变量,避免与其他库冲突。你可以通过`jQuery`代替`$`来继续使用jQuery的功能。 ```javascript var jq = $.noConflict(); // 使用jQuery时,写...

    jQuery与其它库冲突的解决方法

    总结而言,在处理jQuery与其它JavaScript库冲突的问题时,首先应该考虑使用jQuery.noConflict()来释放$变量的控制权,并通过自定义快捷方式来保持代码的简洁性。同时,利用IIFE是一种在维护旧代码时减少冲突和工作量...

    处理jquery版本之间冲突

    如果传入参数`true`,那么除了将`$`从jQuery的控制下移除外,还会把`jQuery`也从jQuery的控制下移除,从而允许其他库或框架使用`jQuery`变量名。 #### 示例代码详解 以下是一个具体的示例,展示如何使用`...

    jQuery多个版本和其他js库冲突的解决方法

    2. 同一页面上jQuery与其他js库冲突的解决: 当其他库(如Prototype)也使用`$`时,你可以使用`noConflict()`方法释放`$`,让其他库接管它。例如: ```html &lt;script src="jquery.js"&gt; ...

Global site tag (gtag.js) - Google Analytics