黄聪:Discuz自制模板带jquery时与discuz本身冲突解决办法

由于JQuery的效果很好,在制作模板时难免会用到各种jquery效果。可是做过模板的人就会发现加上自己的juery代码后,discuz自带的一些下拉功能就不可以使用了,其实原因就是discuz和JQuery的$发生冲突,导致有些功能失效。在网上找了一些资料整理了一下,希望能够帮到大家,同时也希望discuz能尽快解决这个问题。

方法一:

  1. 在页面的最头部,也就是<head>标签下的第一行开始引入我们用到的JQuery文件,这是为了能确保该JS可以在DZ默认JS之前加载。
  2. 在引用到该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了。

时间: 2024-10-23 08:53:49

黄聪:Discuz自制模板带jquery时与discuz本身冲突解决办法的相关文章

js报TypeError $(...) is null错误,jquery失效的原因及解决办法

最近在工作中发现个问题,原本好好的网页,写了一些自己的jquery代 码之后,竟然总是不起作用,无论写的多么简单,都不起作用,似乎jquery失效了一般,在火狐下调试看了下,页面报TypeError $(...) is null这种错误,找了半天原因最后发现竟是页面中加载的一个插件给捣的鬼,是它将jquery的$方法给覆盖了.对于这个问题,现在分享两种解决方法. (1)删冲突插件,jquery作为基础库,当然是没有理由被删了.这个方法最直接了. (2)将jquery的$方法改名,具体改名方法如下

ecshop transport.js 和 jquery 冲突解决办法

您提供一个简单的解决transport.js 和 jquery 方法: 在 page_header.lbi 库文件中加入如下代码,注意操作顺序: 1.先导入transport.js  文件 {insert_scripts files='transport.js,utils.js'} 2.然后导入您网站使用的jquery文件 <script language="javascript" src="您的jquery存放路径"></script> 3

黄聪:GeckoFX如何引用jquery文件并执行自定义JS

var jquery_script = gwb.Document.CreateElement("script"); jquery_script.SetAttribute("src", "http://common.cnblogs.com/script/jquery.js"); gwb.Document.GetElementsByTagName("head").First().AppendChild(jquery_script)

使用Wordpress 自带jQuery时不能使用$的处理办法

对于短变量控来说,写jQuery时不能使用$是多么的不舒服. 因为Wordpress自带的jQuery在官方原版的最后加了一句jQuery.noConflict(),防止与其它的JS库冲突,因为有很多JS库都是用这个$的. 这样使得写wordpress插件或者其它时候写jQuery代码都要做一些小修改,更可能导致一些插件效果失效. 其实方法很简单,自己再另外引入一个jQuery.man.js就可以了 不带noConflict的,放在自己的插件目录下面引用.

织梦模板安装后不能显示css的解决办法

笔者下载了无数套模板,有带数据的,有不带数据的,有整套网站程序的,有只有模板文件的. 这么多模板中就只有一套只有模板文件的,能显示出"部分"css,主页上还有部分图片不能正常显示的. 前前后后花了十几天的精力总是有的.这可让笔者愁啊愁,愁到白了头. 程序员最重要的能力就是自学能力.那我就百度吧.我百度的问题是"织梦模板安装后不显示css样式",得到的答案总是css调用路径不对. 我想,难道模板的代码不正确?可是为什么人家网站上的演示是正常的? 我对着织梦官方的模板代

Broadcom有线网卡在Windows 8/8.1/10下使用系统自带驱动会断网的解决办法

出处:qiuyi21.cnblogs.com 1.下载最新正式版驱动程序 上Broadcom官方网站http://www.broadcom.com/support/ethernet_nic/downloaddrivers.php下载适合你的网卡的最新正式版驱动程序,不要下载测试版. 2.删除系统自带的驱动程序缓存 同时按下Win + X出现管理菜单,然后按G键打开“计算机管理”,左边选中“设备管理器”,右边展开“网络适配器”找到Broadcom有线网卡,如下图所示: 图1 右键点击选择“属性”,

在eclipse中导入jquery包后报错的解决办法

eclipse导入jquery包后报错,处理步骤如下:  1.关闭Eclipse,打开对应项目的.project文件,去掉如下内容:         org.eclipse.wst.jsdt.core.javascriptValidator       2.删除项目中原来的jquery支持包,重启重新复制一份,因为原来的文件已被eclipse项目标记为错误了,之后报错解决.

jQuery版本冲突解决办法

<!-- 引入1.6.4版的jq --> <script src="<a href="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js"></script>" target="_blank">http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.js">&

jquery 版本冲突解决办法

p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Microsoft YaHei"; color: #a5b2b9 } p.p2 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px "Microsoft YaHei"; color: #2eafa9 } p.p3 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px &quo