ExampleanalysisoftheusageofnoConflict | injQuery

ExampleanalysisoftheusageofnoConflict | injQuery
本文阐述了任何使用jQuery()。分享给你供你参考。具体分析如下:

jQuery默认使用 操作符。美元符号只是一个参考,window.jquery对象,jquery.noconflict(),它将变为控制来实现它的第一个图书馆。这有助于确保jQuery不会与其他库的$对象冲突。运行功能后,你可以使用jQuery变量访问jQuery对象。例如,你想使用$,(div p),你必须改变jQuery(div p )。

一,$ 运算

1,jQuery默认使用$ 操作符,原型和其他框架也使用 $ 这很容易理解,毕竟,JS是从上到下的。

2,如果在其他$库之前引入jQuery,jQuery将不会占用$。

提示:当其他Javascript库为它们的函数使用$时,此方法非常有用。

我们在jQuery中获取变量,但是有很多插件可以使用$的符号。如果我们想同时引用,就会导致问题。为了防止这样的事情,任何jQuery()介绍

两个定义,jquery.noconflict
的jquery.noconflict方法包含一个可选的布尔参数确定的参考美元转移到jQuery对象。

jquery.noconflict({全部})
函数的描述:

默认情况下,执行任何转移变量$控制第一库,生成元;当全部设置为true,执行任何将美元和jQuery对象的所有控制权的第一个产生他们的图书馆。
三、jquery.noconflict源代码分析
首先要做的是从jQuery源开始。

在jQuery覆盖时映射到jQuery
_jquery = window.jquery,
在覆盖重写的情况下,在map $
_美元美元=窗口,
这是很容易理解的,jQuery和jQuery地图为两个物体在窗口环境下通过两个私有变量来防止变量被覆盖。一旦任何方法是通过_jquery美元美元,_,jQuery调用,四者之间的差异,来确定控制权转移模式,具体代码如下:
任何:功能(深){
如果(窗口$ = jQuery){
美元美元= _窗口;
}
如果(深window.jquery = jQuery){
window.jquery = _jquery;
}
返回jQuery;
}

看看上面提到的参数设置问题,如果深不设置,窗口_ $覆盖。美元,jQuery别名为失败,但是jQuery本身完好无损。如果任何其他类库或代码重新定义变量$,其控制将完全移交。反之,如果深套真的,_jquery覆盖window.jquery,两美元,jQuery会在这个时候失败。

这个操作是很好的,无论是这个高度冲突的执行环境的混合或jQuery版本的框架,因为用任何方法提供的传输机制,其收益未被覆盖的jQuery对象,可以通过这样的方式来解决冲突的变量映射。

四、jquery.noconflict例子
1,将返回的对象引用到原始对象:
JQuery.noConflict();
jQuery()
$(内容)。style.display = 没有; / /使用其他图书馆(美元)
2,恢复别名$的使用,然后创建和执行一个仍然在函数作用域中用作别名的函数。在这个函数中,原来的$对象无效。这个函数对大多数不依赖于其他库的插件非常有效。
JQuery.noConflict();
(函数($){)
$(函数(){())
作为别名代码使用jQuery
});
}(jQuery);
其他…作为库代码的$别名

3,你可以结合jquery.noconflict()与速记准备让代码更紧凑:
JQuery.noConflict()((){()函数
代码的使用
});
其他库做…$别名代码

4,在下一个库中创建一个新的别名来使用jQuery对象:
var j = jquery.noconflict();
j();基于jQuery的代码
$(内容); / /。style.display = 没有$()基于代码的其他图书馆

5,将jQuery完全移到一个新的命名空间
var = { };
dom.query = jquery.noconflict(真的);
结果:
dom.query(div p)(隐藏); / /新的jQuery代码
$(内容); / /。style.display = 没有$(另一个库中的代码)
jQuery()(隐藏);jQuery代码的另一个版本

希望本文能对大家的jQuery程序设计有所帮助。
免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部