设为首页收藏本站桌面图标福建网址会心一笑 繁体中文

安全生活学习-祈安网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

点击进入授权页面

用百度帐号登录

总共13条微博

动态微博

查看: 380|回复: 0

Discuz与JQuery不兼容解决方案

[复制链接]

评论头像


手机扫一扫,直接访问本页
累计在线
69680分钟
鲜花(0) 鸡蛋(0)
发表于 2016-5-3 23:06:18 | 显示全部楼层 |阅读模式
做Discuz模板的都知道Discuz与jQuery不兼容,会造成DIY功能和下拉菜单无法使用,以前经常遇到这个问题都是跳过去,今天跳不过去了只好硬着头皮找方法,网上相关方法很多,但对于不熟悉Javascript的人来说看了都是一头雾水,下面我来讲一讲如何解决这个问题。
一、冲突原因(看不懂的跳过)
jQuery是通过一个全局变量$来引用的,而Discuz的common.js文件加载时也占用了$。因而冲突的根源就是全局变量$。说得明白点:当jQuery和common.js共存的时候,$究竟是谁?
分析jQuery和common.js的源代码可以知道,这两个库在加载的时候都会占用$变量。因此,按照覆盖的原理,谁后加载,$变量就是谁。

二、解决思路
除了$,jQuery还占用了另外一个变量作为别名,这个别名就是库本身的名称jQuery
在jQuery下

  • $("div");

  • jQuery("div");
是同样的意思,所以我们可以将$送给common.js来使用,而jQuery使用jQuery这个代号。
除了common.js和jQuery.js文件,一般还会涉及到一个控制特效的js文件,了解了这些问题后就可以进行下面的操作了。

三、解决冲突的方法
1、将$送给common.js
打开jQuery的源代码,在最后面添加

  • jQuery.noConflict();
2、替换特效JS文件中的$符号
打开特效JS文件,搜索

  • $(
替换为

  • jQuery(
保存好所有文件,更新一下缓存,问题就都解决了,看看是不是不冲突了。



您需要登录后才可以回帖 登录 | 立即注册  用百度帐号登录

本版积分规则

爱淘宝 厦门鹭岛网络-361000.net ,翼企魔方,厦门企业邮局,厦门域名注册,虚拟主机,厦门软件定制|厦门网站建设!

|申请友链|网址导航|网站导航|小黑屋|扫一下二维码进入手机版|祈安网 ( 闽ICP备06000414号-7 )|公安备案号35052402000130

JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!JS of wanmeiff.com and vcpic.com Please keep this copyright information, respect of, thank you!

GMT+8, 2024-4-29 13:06 , Processed in 0.335978 second(s), 89 queries , Gzip On.

请加为QQ好友再交谈

快速回复 返回顶部 返回列表