jquery和zepto冲突解决以及体会
為什么80%的碼農都做不了架構師?>>> ??
##背景 最近公司在做一個基于移動端的項目,算是第一次公司好幾個人都參與的,在前端的js插件選用上,前端人員選擇了使用zepto,前端的妹子說這個對于移動端的支持會比較好,然后還使用了一個require.js的技術。 ##問題 前端在做一個三級聯動的地址選擇的時候,使用了一個pick的插件,但是這個插件是基于jquery的,這就導致了一個問題,我們基本所有頁面都使用了zepto,而且zepto的選擇關鍵字也設置為了$,和jquery重復了,導致我們在zepto和jquery都引入的情況下,使用$這個選擇器的時候,會有一定情況無法正確識別是哪個,頁面就會報錯了 ##解決 一開始,我們以為是因為使用了require.js導致的,但是后面發現無論我們怎么去調整,都是不可以的,最后不得已問百度,最后在知乎里面看到 https://www.zhihu.com/question/37202729 我就在代碼做了修改,凡是用到jquery的地方,我都使用jQuery的關鍵字來調用
jQuery 和其他 JavaScript 框架 正如您已經了解到的,jQuery 使用 $ 符號作為 jQuery 的簡寫。 如果其他 JavaScript 框架也使用 $ 符號作為簡寫怎么辦? 其他一些 JavaScript 框架包括:MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。 其中某些框架也使用 $ 符號作為簡寫(就像 jQuery),如果您在用的兩種不同的框架正在使用相同的簡寫符號,有可能導致腳本停止運行。 jQuery 的團隊考慮到了這個問題,并實現了 noConflict() 方法。jQuery.noConflict(); jQuery(function($){$("#add-city").cityPicker({title: "請輸入地址",}); });#后記 至此,問題算是解決了,雖然很簡單,但是缺花費了大量的時間,后面仔細想想,其實是我們一開始的路子沒走好,我們選擇了一個js框架,按理是不應該再選擇其他的,我們還用了其他并且使用了同樣的關鍵字,而且在問題出現的時候去胡亂搞,并沒有善用搜索工具,其實我們遇到的問題肯定別人也會遇到的,這幾點要切記。
轉載于:https://my.oschina.net/gcdong/blog/1120371
總結
以上是生活随笔為你收集整理的jquery和zepto冲突解决以及体会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 64位win7中使用vs2013为pyt
- 下一篇: 台湾瑞萨Synergy 助客户攻物联网