Discuz和jQuery變量名沖突的3種解決方法

緣起于之前自己初次接觸開(kāi)發(fā),做了一款插件,本地測(cè)試安裝使用的時(shí)候發(fā)現(xiàn)所有的下拉菜單都不能夠使用,鼠標(biāo)點(diǎn)擊沒(méi)有任何反應(yīng),DIY也不能夠使用,后來(lái)經(jīng)1314學(xué)習(xí)網(wǎng)解答說(shuō)明是DZ和JQ的$沖突!大家平時(shí)在寫(xiě)模版或者插件的時(shí)候多多少少都會(huì)使用JQ,不知道什么時(shí)候就會(huì)遇到?jīng)_突性問(wèn)題,最近在網(wǎng)上找了很多相關(guān)教程,現(xiàn)在與大家進(jìn)行分享!
第一種答案:
1、使用到的JS文件無(wú)需修改
2、在頁(yè)面的最頭部,也就是標(biāo)簽下的第一行開(kāi)始引入,這是為了能確保該JS加載在DZ默認(rèn)JS之前。 3、在引用到該JS文件的地方建$改成 jQuery(注意大小寫(xiě))。 如上方式,一般都能解決大部分的JS不兼容情況。如果還是米喲解決的話嘗試一下方法: 將用到的JS里面的所有$君替換成jQuery。
第二種答案:
DZ使用了S()作為對(duì)象選取函數(shù),剛好與jQuery默認(rèn)的$()函數(shù)重合造成沖突,同樣也是為了保持原有的DZ程序不被更改,所以我們要在JQ上修改了。jquery.js 不需要修改這個(gè)文件。只要在引用的時(shí)候修改一下即可。例如以下代碼 是jq 的代碼。如果不做修改直接用入DZ會(huì)報(bào)錯(cuò)。
<script type="text/javascript">// <![CDATA[</p> <p>$j(function(){ //使用jQuery
$("p").click(function(){
alert( $(this).text() );
});
}); </p> <p>$("pp").style.display = 'none'; //使用prototype
// ]]></script>
我們可以引用jQuery給JQ賦予一個(gè)變量
var jq = jQuery.noConflict();</p> <p><script type="text/javascript">// <![CDATA[</p> <p>var jq = jQuery.noConflict();
jq(function(){ //使用jQuery
jq("p").click(function(){
alert( jq(this).text() );
});
});
jq("pp").style.display = 'none'; //使用prototype
// ]]></script>
替換之后應(yīng)該是解決js沖突問(wèn)題。
第三種,W3C在線手冊(cè)解決方法,和上面的差不多一樣:
http://www.w3school.com.cn/jquery/core_noconflict.asp
相關(guān)文章
Discuz! X3.4默認(rèn)模板自適應(yīng)手機(jī)與pc的方法
這是我去年自己花了一個(gè)下午一點(diǎn)點(diǎn)研究出來(lái)的,現(xiàn)在免費(fèi)貢獻(xiàn)給大家試用,代碼放入后臺(tái)統(tǒng)計(jì)即可,效果如下2020-11-16- 如果想要404頁(yè)面跟網(wǎng)站其他頁(yè)面一樣帶有頂部和底部導(dǎo)航,能顯示用戶信息怎么辦呢?今天小編就為大家介紹discuz設(shè)置嵌入式404頁(yè)面教程,來(lái)看看吧2016-05-10
Discuz X3/3.1 門(mén)戶中的Keyword和Description顯示不正確的解決方法
這篇文章主要介紹了Discuz X3/3.1 門(mén)戶中的Keyword和Description顯示不正確的解決方法,默認(rèn)顯示的是游客能看到的,而Discuz 對(duì)游客屏蔽了關(guān)鍵詞與描述,為了SEO,還是讓它正常2015-03-25Discuz提示您安裝的不是正版應(yīng)用問(wèn)題解決辦法
這篇文章主要介紹了Discuz提示您安裝的不是正版應(yīng)用問(wèn)題解決辦法,完整提示“對(duì)不起,您安裝的不是正版應(yīng)用,安裝程序無(wú)法繼續(xù)執(zhí)行”,本文使用修改PHP文件的方法解決了這個(gè)2015-03-25- 這篇文章主要介紹了Discuz和jQuery變量名沖突的3種解決方法,在開(kāi)發(fā)模板或者插件時(shí)經(jīng)常遇到這個(gè)問(wèn)題,本文列出的3種方法都可以解決這個(gè)問(wèn)題,需要的朋友可以參考下2015-03-25
Discuz提示“密碼錯(cuò)誤次數(shù)過(guò)多,請(qǐng)15分鐘后重新登陸”問(wèn)題解決方法
這篇文章主要介紹了Discuz提示“密碼錯(cuò)誤次數(shù)過(guò)多,請(qǐng)15分鐘后重新登陸”問(wèn)題解決方法,本文方法適合網(wǎng)站管理員操作,不是普通網(wǎng)友可以使用的解決方法,需要的朋友可以參考下2015-03-25Discuz X2通過(guò)數(shù)據(jù)庫(kù)批量替換修改帖子內(nèi)容
帖子數(shù)量上萬(wàn),一開(kāi)始是通過(guò)設(shè)置詞語(yǔ)過(guò)濾,發(fā)現(xiàn)無(wú)效果,只能通過(guò)數(shù)據(jù)庫(kù)批量替換了,具體方法請(qǐng)接著往下看2014-09-04Discuz!X3.2版設(shè)置論壇QQ在線客服號(hào)碼無(wú)法發(fā)起聊天的問(wèn)題解決辦法
這篇文章主要介紹了Discuz!X3.2版設(shè)置論壇QQ在線客服號(hào)碼無(wú)法發(fā)起聊天的問(wèn)題解決辦法,需要的朋友可以參考下2014-08-03- 這篇文章主要為大家介紹了Discuz論壇發(fā)帖技巧,需要的朋友可以參考下2014-06-21
- 這篇文章主要為大家介紹了Discuz論壇宣傳與優(yōu)化技巧,需要的朋友可以參考下2014-06-21