解决discuz默认js冲突与新引入的js冲突jQuery冲突问题

[复制链接] [添加相关主题]
烈火大地 发表于 2018-9-17 14:19:21
discuz论坛默认的js文件和新引入的js文件有冲突,首先思路很简单,就是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代码

  1.     <script language="javascript" type="text/javascript">
  2.     <!--  
  3.     var jq = jQuery.noConflict();
  4.         jq(document).ready(function(){  
  5.             jq("select").sSelect();  
  6.         })  
  7.     -->
  8.     </script>
复制代码


这里我自定义的函数名就是jq,还有一种情况是外链一个js文件,情况是一样的,只要在这个js文件开头加上var jq = jQuery.noConflict();,然后下面用到$的地方都替换为自定义函数名jq就可以了。

其实很简单,就一句话概括:一个思路,两个步骤。

注:这个方法可以应用到所有与jQuery因$()重复引起的冲突问题中,这里只是一个小小的应用!


上一篇:discuz新建模板电脑手机模板制作添加自定义模板的方法
下一篇:删除discuz帖子标题分类信息标签关闭不显示设置方法

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ| Archiver|小黑屋| 颠覆霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与颠覆霸主网无关。

禁止在颠覆霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2023-3-21 09:01 , Processed in 0.101282 second(s), 26 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.