关于Discuz与jQuery冲突问题的亲测解决方法
最近的一个项目整合dede和discuz程序,客户要求风格统一,所以有很多样式及特效都是要公用的。其中jQuery库定义的函数$()正好与discuz的comme.js中函数一样,这样就冲突了,导致discuz论坛所有js效果失效。网上搜罗了一下,N多的方法,但是很多说的不明不白,我也试了很多方法,浪费了我一个晚上加一个早上,真是费时费力。不过其中一个方法倒是解决了这个冲突,所以共享出来备用,也方便大家。
其实解决方法倒是不难,难的是思路和没有一个详细的步骤,这里我就做个详细的说明。首先思路很简单,就是discuz占用了$(),那么jQuery中我就不用这个函数,其实jQuery已经给出了解决方案,就是用var 自定义函数名 = jQuery.noConflict();来置换jQuery中的$,然后在jQuery中所有应用到$的地方都替换成这个自定义函数名。下面说一下步骤:
1、打开discuz中共用的header.hrm文件,在<script type="text/javascript" src="{$jspath}common.js?{VERHASH}"></script>下面加载jQuery<script type="text/javascript" src="{$jspath}jquery.js?{VERHASH}"></script>。
2、这里两种情况,一种是直接在文档中写js代码
- <script language="javascript" type="text/javascript">
- <!--
- var jq = jQuery.noConflict();
- jq(document).ready(function(){
- jq("select").sSelect();
- })
- -->
- </script>
这里我自定义的函数名就是jq,还有一种情况是外链一个js文件,情况是一样的,只要在这个js文件开头加上var jq = jQuery.noConflict();,然后下面用到$的地方都替换为自定义函数名jq就可以了。
其实很简单,就一句话概括:一个思路,两个步骤。
注:这个方法可以应用到所有与jQuery因$()重复引起的冲突问题中,这里只是一个小小的应用!
关于Discuz与jQuery冲突问题的亲测解决方法的更多相关文章
- jquery鼠标点击穿透的解决方法
jquery鼠标点击穿透的解决方法 <pre><div class="showcontainer" style="background:#000;dis ...
- Discuz!和jQuery冲突的解决办法
Common.js是官方自带的,我没改过它,所以不可能出错,所以问题就应该是两者冲突了.导致的结果我也发现了,前台的DIY功能不能用了. 我还花了很多时间在那里研究冲突的地方,后来还是没能解决.之 ...
- Discuz X3.2 网站快照被劫持的解决方法
附上另一个人的解决方法:http://www.discuz.net/thread-3549930-3-1.html 问题如下: 快照被劫持,无论怎么申诉,怎么更新快照,都无法消除此问题,第一次打开网站 ...
- jQuery ajax跨域请求的解决方法
在Ajax应用中,jQuery的Ajax请求是非常容易而且方便的,但是初学者经常会犯一个错误,那就是Ajax请求的url不是本地或者同一个服务器下面的URI,最后导致虽然请求200,但是不会返回任何数 ...
- jquery .post .get中文参数乱码解决方法详解
jquery默认的编码为utf-8,做项目时有时处于项目需要用到ajax提交中文参数,乱码问题就很头疼了,折腾了许久终于弄出来了.为了便于传输,我们首先将需要用到的参数用javascript自带的函数 ...
- jquery ajax跨域的完美解决方法(jsonp方式)
ajax跨域请求的问题,JQuery对于Ajax的跨域请求有两类解决方案,不过都是只支持get方式,接下来为大家详细介绍下客户端JQuery.ajax的调用代码 今天在项目中需要做远程数据加载 ...
- discuz完善用户资料任务不能完成的解决方法
再来吐槽下discuz. 虽然很很很不想用discuz,但是,,,,..便利性以及各种原因,还得使用. 问题:discuz-运营-任务-完善资料,,,,,,变更部分后无法完成任务. 解决方式如下 原因 ...
- js原生态函数中使用jQuery中的 $(this)无效的解决方法
原文地址:http://www.jb51.net/article/27238.htm 今天遇到一个听郁闷的问题,正如title所说 js中原生态函数在jQuery 中使用 $(this) 被解析成un ...
- jquery Syntax error, unrecognized expression:的解决方法
原文地址 https://blog.csdn.net/flowingfog/article/details/42739773 问题: 将模板的html内容转换成jquery时报以下错误:Syntax ...
随机推荐
- C++中L和_T()之区别
字符串前面加L表示该字符串是Unicode字符串._T是一个宏,如果项目使用了Unicode字符集(定义了UNICODE宏),则自动在字符串前面加上L,否则字符串不变.因此,Visual C++里边定 ...
- echarts学习总结(一):图表溢出窗口,图表数据窗口显示不全
如上图所示:echarts图形左面的数据没有完全显示 只需在option中定义一下grid,例如: gri ...
- 404、500、502等HTTP状态码介绍
基本涵盖了所有问题HTTP 400 – 请求无效HTTP 401.1 – 未授权:登录失败HTTP 401.2 – 未授权:服务器配置问题导致登录失败HTTP 401.3 – ACL 禁止访问资源HT ...
- Swift 常用字符串操作
原文链接:http://www.jianshu.com/p/52e7580166ff 版本2:增加了Swift 2.0的语法,与Swift 1.2的语法相比,主要是:advance方法变成了advan ...
- Theos tweak MSHookFunction
#import "substrate.h" static FILE * (*s_orig_fopen) ( const char * filename, const char * ...
- socket通信的json数据传输与获取
本文是基于scoket通信的tcp来进行数据的json格式传输与获取的. 首先,我们先要下载AsyncSockethttps://github.com/robbiehanson/CocoaAsyncS ...
- c++数组指针bug
ClassA* csList = ]; ClassA ca = csList[]; ca.x=; CCLOG(].x);//output: caList[0].x -431602080.000000 ...
- Node.js学习 - Route
Node.js 路由 URL解析,需要url和querystring两个模块url.parse(string).query | url.parse(string).pathname | | | | | ...
- Windows Batch Scripts
Some simple examples: simple.bat @echo off set _var1=3 set _var2=5 set /a _result=%_var1%+%_var2% ec ...
- 二叉树,平衡树,红黑树,B~/B+树汇总
二叉查找树(BST),平衡二叉查找树(AVL),红黑树(RBT),B~/B+树(B-tree).这四种树都具备下面几个优势: (1) 都是动态结构.在删除,插入操作的时候,都不需要彻底重建原始的索引树 ...