jquery库与其他库冲突的问题解决-jquery.noConflict()

本文介绍了如何在同一个项目中同时使用jQuery和Prototype两个JavaScript库,通过不同方式确保两者兼容运行,避免$符号冲突,包括直接使用jQuery或采用jQuery.noConflict()方法。
摘要由CSDN通过智能技术生成

一、 jQuery库在其他库之前导入,直接使用jQuery(callback)方法如:
<html>
< head>
< meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
< !--
先导入jQuery-->
<script src="../../scripts/jquery-1.3.1.js" type="text/javascript"></script>
< !--
后导入其他库-->
<script src="prototype-1.6.0.3.js"type="text/javascript"></script>
< /head>
< body>
< p id="pp">test---prototype</p>
< p >test---jQuery</p>

<scripttype="text/javascript">
jQuery(function(){ //
直接使用jQuery ,没有必要调用"jQuery.noConflict()"函数。
jQuery("p").click(function(){
alert( jQuery(this).text() );
});
});

$("pp").style.display= 'none'; //使用prototype
< /script>
< /body>
< /html>

二、jQuery库在其他库之后导入,使用jQuery.noConflict()方法将变量$的控制权让渡给其他库,有以下几种方式:

<scripttype="text/javascript">
jQuery.noConflict(); //
将变量$的控制权让渡给prototype.js
jQuery(function(){ //
使用jQuery
jQuery("p").click(function(){
alert( jQuery(this).text() );
});
});

$("pp").style.display= 'none'; //使用prototype
< /script>

//代码二
<script type="text/javascript">
var $j = jQuery.noConflict(); //
自定义一个比较短快捷方式
$j(function(){ //
使用jQuery
$j("p").click(function(){
alert( $j(this).text() );
});
});

$("pp").style.display= 'none'; //使用prototype
< /script>

//代码三
<script type="text/javascript">
jQuery.noConflict(); //
将变量$的控制权让渡给prototype.js
jQuery(function($){ //
使用jQuery
$("p").click(function(){ //
继续使用 $ 方法
alert( $(this).text() );
});
});

$("pp").style.display= 'none'; //使用prototype
< /script>

//代码四
<script type="text/javascript">
jQuery.noConflict(); //
将变量$的控制权让渡给prototype.js
(function($){ //
定义匿名函数并设置形参为$
$(function(){ //
匿名函数内部的$均为jQuery
$("p").click(function(){ //
继续使用 $ 方法
alert($(this).text());
});
});
})(jQuery); //
执行匿名函数且传递实参jQuery

$("pp").style.display= 'none'; //使用prototype

/*********************************************************************/
jQuery(document).ready(function(){ //
一加载页面的时候就将权利让出去
jQuery.noConflict();
});
< /script>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值