jQuery是一個強大優秀的Javascript框架,但是當在DiscuzX上引入其所編寫的特效時會有不兼容的問題,其常見的表現為引入jQuery后DIY功能和下拉菜單無法使用。
其原因是由于jQuery是通過一個全局變量$來引用對象,而DiscuzX的common.js文件加載時也使用了$來引用,這就造成了可能jQuery功能有問題或者是下拉菜單無法使用的問題,其具體表現是后加載的功能正常,先加載的功能失效。
解決思路
對于jQuery除了$還有另外一個全局調用對象的方法,這個就是使用庫本身的名稱jQuery。
在jQuery下$("div");和jQuery("div");是同樣的意思,所以我們可以將$送給common.js來使用,而jQuery使用自己所有的jQuery,這樣就可以根本解決全局使用沖突的問題了。
除了common.js和jQuery.js文件,一般的還會涉及到一個控制特效的js文件,特效js文件用到的$方法也要修改。
具體方法
1、$讓給common.js使用,而jQuery使用jQuery
打開jQuery的源代碼,在文件的最后添加
jQuery.noConflict();
2、替換js特效文件中的$符號
打開js特效文件,搜索
$(
替換為
jQuery(
保存好所有文件,更新一下緩存,不兼容的問題就一下煙消云散了。
新聞熱點
疑難解答