亚州av综合色区无码一区,午夜一区二区三区亚洲影院电影网,天堂а√在线地址,性人久久网av,无码内射成人免费喷射

曉木蟲
學(xué)術(shù)數(shù)據(jù)庫客戶端

Discuz與JQuery不兼容的解決方案

 找回密碼
 注冊新賬號(hào)

QQ登录

微信登录

Discuz與JQuery不兼容的解決方案

跳轉(zhuǎn)到指定樓層
用過Discuz的都知道Discuz與jQuery不兼容,會(huì)造成DIY功能和下拉菜單無法使用,以前經(jīng)常遇到這個(gè)問題都是跳過去,今天跳不過去了只好硬著頭皮找方法,網(wǎng)上相關(guān)方法很多,但對于不熟悉Javascript的人來說看了都是一頭霧水,下面來講一講如何解決這個(gè)問題。

一、沖突原因
jQuery是通過一個(gè)全局變量$來引用的,而Discuz的common.js文件加載時(shí)也占用了$。因而沖突的根源就是全局變量$。說得明白點(diǎn):當(dāng)jQuery和common.js共存的時(shí)候,$究竟是誰?

分析jQuery和common.js的源代碼可以知道,這兩個(gè)庫在加載的時(shí)候都會(huì)占用$變量。因此,按照覆蓋的原理,誰后加載,$變量就是誰。

二、解決思路
除了$,jQuery還占用了另外一個(gè)變量作為別名,這個(gè)別名就是庫本身的名稱jQuery
在jQuery下$和jQuery是同樣的意思,所以我們可以將$送給common.js來使用,而jQuery使用jQuery這個(gè)代號(hào)。
除了common.js和jQuery.js文件,一般還會(huì)涉及到一個(gè)控制特效的js文件,了解了這些問題后就可以進(jìn)行下面的操作了。

三、解決沖突的方法
1、將$送給common.js
打開jQuery的源代碼,在最后面添加
  1. jQuery.noConflict();
復(fù)制代碼
2、替換特效JS文件中的$符號(hào)
打開特效JS文件,搜索$替換為jQuery
調(diào)用jQuery中的方法時(shí)用別名jQuery.不要用$.
保存好所有文件,更新一下緩存,問題就都解決了,看看是不是不沖突了。

Discuz與JQuery不兼容的解決方案
非常棒,感謝分享!
贊同此方案

本版積分規(guī)則  | 请遵守晓木虫管理条例,不得违反国家法律法规

返回頂部