黄聪:Discuz自制模板带jquery时与discuz本身冲突解决办法
由于JQuery的效果很好,在制作模板时难免会用到各种jquery效果。可是做过模板的人就会发现加上自己的juery代码后,discuz自带的一些下拉功能就不可以使用了,其实原因就是discuz和JQuery的$发生冲突,导致有些功能失效。在网上找了一些资料整理了一下,希望能够帮到大家,同时也希望discuz能尽快解决这个问题。
方法一:
- 在页面的最头部,也就是<head>标签下的第一行开始引入我们用到的JQuery文件,这是为了能确保该JS可以在DZ默认JS之前加载。
- 在引用到该JS文件的地方把$改成 jQuery(注意大小写)。
如上方式,一般都能解决大部分的JS不兼容情况。如果还是米哟解决的话尝试一下方法:
将用到的JS里面的所有$全部替换成jQuery。
方法二:
DZ使用了$()作为对象选取函数,刚好与jQuery默认的$()函数重合造成冲突,同样也是为了保持原有的DZ程序不被更改,所以我们要在JQ上修改了。不需要修改jquery.js这个文件。只要在引用的时候修改一下即可。
<script src="style/js/jquery.js" type="text/javascript"></script>
这是引用一个jquery核心文件,然后在其下面加上:
<script type="text/javascript">var CMSZS_JQ = jQuery.noConflict();</script>
红色字体CMSZS_JQ自定义的,主要就是要注意大小写。
然后把我们使用的js文件里面的所有$都换成我们自定义的这个值CMSZS_JQ,大小写要相同。
建议使用第二种方法,如果要用到多个版本的JQ文件的话,就是在每个下面加上这句就好了。如:
<script src="style/js/jquery.1.4.2.js" type="text/javascript"></script> <script type="text/javascript">var CMSZS_JQ = jQuery.noConflict();</script> <script src="style/js/jquery.1.7.2.js" type="text/javascript"></script> <script type="text/javascript">var CMS_JQ = jQuery.noConflict();</script>
注意:只要两个自定义的值不相同,各自使用的js语句里面把$改成相应的值就OK了。
黄聪:Discuz自制模板带jquery时与discuz本身冲突解决办法的更多相关文章
- 黄聪: $(document).click() 在iphone上不触发事件解决办法
解决方案:加上 touchstart 事件 $(document).on(“click touchstart”, “.name”, function() { alert(“name”); });
- 黄聪:PHP发送邮件出现Connection: opening to ssl://的解决办法
PHP.ini文件开启下面2个功能: extension=php_sockets.dll extension=php_openssl.dll
- 黄聪:Mysql开启InnoDB引擎出现1067错误的解决办法
在my.ini文件添加下面这行: innodb_force_recovery = 1 可以解决:InnoDB: Attempted to open a previously opened tables ...
- jQuery库冲突解决办法
一次面试中面试官问到jQuery解决怎么冲突?虽然以前看过,但是我已经不记得了. 我的思路就是如果让我来设计,那我就用一个默认值$,不传参数,那就用$,最后就挂载在window.$上,传参数就用传入名 ...
- Jquery库及其他库之间的$命名冲突解决办法
首先我们应该知道,在jquery中,$(美元符号)就是jquery的别名,也就是说使用$和使用jquery是一样的,在很多时候我们命名空间时,正是因为这个$而产生的冲突的发生.比如说:$('#xmla ...
- TP5本地运行正常,线上运行某页面出现【模板文件不存在】问题的解决办法
相信许多小伙伴和我一样,明明在本地运行页面一切正常,而到线上(本人是用的虚拟主机)出现了如下图的问题: 其实这个问题出现的原因很简单,就是我们开发是在windows 系统下,windows系统对大小写 ...
- 黄聪:GeckoFX如何引用jquery文件并执行自定义JS
var jquery_script = gwb.Document.CreateElement("script"); jquery_script.SetAttribute(" ...
- jQuery UI与jQuery easyUI的冲突解决办法
jQuery UI与jQuery easyUI都是基于jQuery开发的.难免里面会有些方法名冲突! 因此对jQuery.easyui其中的两个方法名:resizable 和 draggable进行替 ...
- jquery与自己写的js文件冲突解决办法
先加载JQUERY,然后使用语句 jQuery.noConflict(); 再加载其他JS文件,后面在使用jQuery时都换下,如:$('#div') 换成 jQuery('#div'), 如果嫌j ...
随机推荐
- Matlab神经网络工具箱学习之二
螃蟹的分类 这个例子的目的是根据螃蟹的品种.背壳的长宽等等属性来判断螃蟹的性别,雄性还是雌性. 训练数据一共有六个属性: species, frontallip, rearwidth, length, ...
- Javascript模块化编程(二):AMD规范【转】
作者: 阮一峰 日期: 2012年10月30日 这个系列的第一部分介绍了Javascript模块的基本写法,今天介绍如何规范地使用模块. (接上文) 七.模块的规范 先想一想,为什么模块很重要? 因为 ...
- 隐藏select最右侧的下拉三角图标的css样式
-webkit-appearance:none; -moz-appearance:none; appearance:none;
- CSS Flex弹性布局
关于css3的flex布局,阮一峰老师的文章写的清晰易懂又全面,这里附上链接http://www.ruanyifeng.com/blog/2015/07/flex-grammar.html?utm_s ...
- 4.2springmvc校验
1.hibernate的校验框架validation所需要jar包: 2 在applicationContext.xml中配置校验器: <!-- 校验器 --> <bean id=& ...
- leetcode 145. Binary Tree Postorder Traversal ----- java
Given a binary tree, return the postorder traversal of its nodes' values. For example:Given binary t ...
- windows下AppServ安装php的memcached扩展
memcache和memcached的区别 在自己的新程序中打算全面应用memcached技术,这个很容易理解这是memcached是内存缓存,但是怎么还有memcache呢? 其实很简单,mem ...
- IOS开发之SWIFT
Swift是苹果2014年推出的全新的编程语言,它继承了C语言.ObjC的特性,且克服了C语言的兼容性问题.Swift发展过程中不仅保留了 ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在其中 ...
- 适配IOS9中间遇到的一些问题
1 directory not found for option问题 警告如下: ld: warning: directory not found for option ‘-F/Application ...
- EF Code First 更新数据库, 数据库迁移
1.EF Code First创建数据库 新建控制台应用程序Portal,通过程序包管理器控制台添加EntityFramework. 在程序包管理器控制台中执行以下语句,安装EntityFramewo ...