扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
当一个项目引入多个第三方库的时候,由于没有命名空间的约束(命名空间就好比同一个目录下的文件夹一样,名字相同就会引发冲突),库与库之间的冲突在所难免。
十年的乐都网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整乐都建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“乐都网站设计”,“乐都网站推广”以来,每个客户项目都认真落实执行。
既然有冲突问题存在,为什么还要应用多个库呢?是因为jQuery不过是一个DOM操作为主的库,方便我们日常WEB的开发,但有时候我们的项目可能需要应用其他的库来解决一些特殊的问题。例如UI库,游戏库等等。
例如prototype库等等,或者自己定义的使用到了$符号的库,该如何解决呢?例如我们有一个自己开发的Base库,也是用到了$符号,一般情况下有两种解决方法
1、将jQuery库在Base库之前引用,那么“$”的所有权就交给了Base库,而jQuery可以直接使用jQuery对象调用,或者创建一个"$$"给jQuery使用。
//假设我们的Base库中有一个ge()方法 var $$ = jQuery; $(function(){ alert($("#box").ge(0)); alert($$("#box").width()); })
2、如果jQuery库在Base库之后引用,那么“$”所有权归jQuery所有,而Base库将会因为冲突而失去作用,在这里jQuery提供了一个方法
jQuery.noConflict(); //自我摧毁,将$所有权剔除 var $$ = jQuery; $(function(){ alert($("#box").ge(0)); alert($$("#box").width()); })
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流