jQuery是一個(gè)強(qiáng)大優(yōu)秀的Javascript框架,但是當(dāng)在DiscuzX上引入其所編寫的特效時(shí)會(huì)有不兼容的問題,其常見的表現(xiàn)為引入jQuery后DIY功能和下拉菜單無法使用。
其原因是由于jQuery是通過一個(gè)全局變量$來引用對(duì)象,而DiscuzX的common.js文件加載時(shí)也使用了$來引用,這就造成了可能jQuery功能有問題或者是下拉菜單無法使用的問題,其具體表現(xiàn)是后加載的功能正常,先加載的功能失效。
解決思路
對(duì)于jQuery除了$還有另外一個(gè)全局調(diào)用對(duì)象的方法,這個(gè)就是使用庫本身的名稱jQuery。
在jQuery下$("div");和jQuery("div");是同樣的意思,所以我們可以將$送給common.js來使用,而jQuery使用自己所有的jQuery,這樣就可以根本解決全局使用沖突的問題了。
除了common.js和jQuery.js文件,一般的還會(huì)涉及到一個(gè)控制特效的js文件,特效js文件用到的$方法也要修改。
具體方法
1、$讓給common.js使用,而jQuery使用jQuery
打開jQuery的源代碼,在文件的最后添加
jQuery.noConflict();
2、替換js特效文件中的$符號(hào)
打開js特效文件,搜索
$(
替換為
jQuery(
保存好所有文件,更新一下緩存,不兼容的問題就一下煙消云散了。
此文由 網(wǎng)站目錄_網(wǎng)站網(wǎng)址收錄與提交入口 編輯,未經(jīng)允許不得轉(zhuǎn)載!: