未来往事
问题描述:默认情况下,Discuz引入jQuery代码后直接使用 $(),运行后会报错。

原因分析:Discuz默认使用了$()作为对象选取函数,刚好与jQuery默认的$()函数重合造成冲突。Discuz $()对象选取函数代码位于static/js/common.js第8-10行:


至此,你应该了解到为么Discuz引入JQuery后为什么会出现部分功能失效或报错的问题。解决方法这里列出2种:

方法一:
在common.js载入之前先载入jQuery.js,不然jquery的$()函数会覆盖common.js的$()函数。然后用到jQuery的$()函数的地方都用jQuery()代替。

方法二:
在common.js载入之后再载入jQuery.js,在调用jQuery的函数前给jQuery赋予一个新的变量,这样也可以保持原有的discuz程序不被更改,新添加的jQuery代码也能正常工作,例如重新对jQuery $()进行赋值为fity:
重新对jQuery进行赋值:

使用示例:

作者:Rinald @『未来往事 | 记录生活,存储回忆!
原文地址:http://fity.cn/post/528/
本站采用「署名 4.0 国际(CC BY 4.0)」创作共享协议。通俗地讲,只要在使用时署名,那么使用者可以对本站所有原创内容进行转载、节选、混编、二次创作,允许商业性使用。除非在文章正文内单独说明,本站欢迎各种形式的转载。互联网技术更新很快,本站很多文章都具有实效性,我会及时更新原文,但转载的文章无法通知更新。为了不给读者造成困惑或误导,请大家在转载时保留此出处信息。
发表评论
  昵称 [注册]
  密码 (游客无需密码)
  网址
  电邮(电子邮件地址不会被公开, 仅用于接收评论回复提醒使用)
OpenID登入 权限选项 表情