jquery教程

推荐列表 站点导航

当前位置:首页 > jquery > jquery教程 >

jQuery避免$符和其他JS库冲突的方法对比

来源:网络整理  作者:  发布时间:2020-12-20 21:02
jQuery中需要用到$符号,如果其他js库也定义了$符号,那么就会造成冲突,会影响到js代码的正常执行,下面有几个不...

});

jQuery( document ).ready(function( $){}
或者
缺点:只对ready嵌套内的代码有效,对嵌套外的代码是无效的。如果你所有的逻辑,都在写ready函数中,那没问题。但我们一般都会在ready函数之外写一些子函数,然后ready函数再去调用这些函数。这个方案对这些函数是无效的,因此这套方案有局限性。

这个方法,没有上面两个方案的缺点,只会影响到被包在jQuery(function($){}中的代码。

方案2:
替换成

缺点:引入了这段代码后,不仅是当前的js文件,该html引用的所有js中,如果有用到jquery中的$,都得用$j来代替之前的$

//你的js代码放在这里(例如第二个方案提到的ready函数和子函数)
//你的js代码
jquery中需要用到$符号,如果其他js库(例如大名鼎鼎的prototype)也定义了$符号,那么就会造成冲突,会影响到js代码的正常执行。jqeury提供了一些方案来避免这个问题,让我们来看看这几个方案有什么区别
alert("Text: " + $j("#test").text());
}

复制代码 代码如下:

方案1:
不会影响到其他js代码,这一点很重要。试想一下,假如你写了一个js公共组件,该组件需要用到jquery,为了提高鲁棒性,需考虑$符号冲突问题。如果使用方案1,那么别人在使用时,还得遵守你的约定,把自己js代码中的$改成$,而如果使用方案3,既能避免$冲突对该组件的影响,又无需要求使用公共组件的人修改自己的代码。

复制代码 代码如下:

复制代码 代码如下:

(function($) {
jQuery(function($){

$j("#btn1").click(function(){
将$(document).ready(function(){
})(jQuery);
给js内容包上一个函数
var $j = jQuery.noConflict();

引入noConflict(),将$替换为其他符号



方案3(推荐,特别是开发js插件时):
//如果是js文件,其实就是在文件头部和尾部各加一行代码



ready函数是jquery的入口函数,可以
});
$j(document).ready(function(){

相关热词: jquery 方法

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!

本文地址: https://v30.fanwenzhu.com/jq/jc/6328.shtml

相关文章
最新文章
PHP识别相片是否是颠倒的 PHP识别相片是否是颠倒的

时间:2020-12-28

python编程有哪些ide python编程有哪些ide

时间:2020-12-28

python开发工程师是做什么 python开发工程师是做什么

时间:2020-12-28

php构造函数的作用 php构造函数的作用

时间:2020-12-28

php怎么跟数据库连接 php怎么跟数据库连接

时间:2020-12-28

php实现顺序线性表 php实现顺序线性表

时间:2020-12-28

Python多重继承中的菱形继 Python多重继承中的菱形继

时间:2020-12-28

php中break的作用 php中break的作用

时间:2020-12-28

Copyright © www.juheyunku.com      关于 | 合作 | 声明 | 联系 | 更新 | 地图 | Tags

jQuery避免$符和其他JS库冲突的方法对比

2020-12-20 编辑:

});

jQuery( document ).ready(function( $){}
或者
缺点:只对ready嵌套内的代码有效,对嵌套外的代码是无效的。如果你所有的逻辑,都在写ready函数中,那没问题。但我们一般都会在ready函数之外写一些子函数,然后ready函数再去调用这些函数。这个方案对这些函数是无效的,因此这套方案有局限性。

这个方法,没有上面两个方案的缺点,只会影响到被包在jQuery(function($){}中的代码。

方案2:
替换成

缺点:引入了这段代码后,不仅是当前的js文件,该html引用的所有js中,如果有用到jquery中的$,都得用$j来代替之前的$

//你的js代码放在这里(例如第二个方案提到的ready函数和子函数)
//你的js代码
jquery中需要用到$符号,如果其他js库(例如大名鼎鼎的prototype)也定义了$符号,那么就会造成冲突,会影响到js代码的正常执行。jqeury提供了一些方案来避免这个问题,让我们来看看这几个方案有什么区别
alert("Text: " + $j("#test").text());
}

复制代码 代码如下:

方案1:
不会影响到其他js代码,这一点很重要。试想一下,假如你写了一个js公共组件,该组件需要用到jquery,为了提高鲁棒性,需考虑$符号冲突问题。如果使用方案1,那么别人在使用时,还得遵守你的约定,把自己js代码中的$改成$,而如果使用方案3,既能避免$冲突对该组件的影响,又无需要求使用公共组件的人修改自己的代码。

复制代码 代码如下:

复制代码 代码如下:

(function($) {
jQuery(function($){

$j("#btn1").click(function(){
将$(document).ready(function(){
})(jQuery);
给js内容包上一个函数
var $j = jQuery.noConflict();

引入noConflict(),将$替换为其他符号



方案3(推荐,特别是开发js插件时):
//如果是js文件,其实就是在文件头部和尾部各加一行代码



ready函数是jquery的入口函数,可以
});
$j(document).ready(function(){

本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供学习参考!
本文地址为 https://v30.fanwenzhu.com/jq/jc/6328.shtml

相关文章

风云图片

推荐阅读

返回jquery教程频道首页