文档章节

supesite 等程序中 $ 函数与 jquery 冲突的解决办法

EDIAGD
 EDIAGD
发布于 2013/11/10 21:21
字数 337
阅读 102
收藏 0

1.替换选择器函数

将原程序中的:

function $(id) {

    return document.getElementById(id);

}

 

替换为:

function $(id) {

    if (typeof jQuery == 'undefined' || (typeof id == 'string' && document.getElementById(id))) {

        return document.getElementById(id);

    } else if (typeof id == 'object' || !/^\w*$/.exec(id) || 
                            /^(body|div|span|a|input|textarea|button|img|ul|li|ol|table|tr|th|td)$/.exec(id)){

        return jQuery(id);

    }

    return null;

}

做一个兼容,对于以前直接用字符串ID的调用依旧使用document.getElementById(id)去获取DOM对象;而如果传入的ID是对象,或者里面有特殊符号(如 # . : ^ 等 jQuery 选择器符号)或者是常用的html标签,就使用jQuery选择器去获取jQuery对象。

 

2.需要先加载jquery的库,然后加载声明这个兼容的 $ 函数的js文件,以覆盖掉jquery的 $ 函数。

<script language="javascript" type="text/javascript" src="source/script_jquery.js"></script>

<script language="javascript" type="text/javascript" src="source/script_common.js"></script>

…………

 

假如有个TAG的ID是'ctrl_with_id',使用 $('ctrl_with_id') 取得的是DOM的对象,使用$('#ctrl_with_id')可取得jQuery对象,互相不会冲突。

如此,原来程序中的 $ 函数依旧工作,而且同时可以使用 $ 作为jQuery的选择器。

 

这么解决冲突,暂时还未发现问题。

后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0 

本文转载自:http://hi.baidu.com/cnkarl/item/73f27bd7ac8ba049fb5768dd

共有 人打赏支持
EDIAGD
粉丝 49
博文 149
码字总数 58327
作品 0
嘉定
后端工程师
私信 提问
康盛创想发布 SupeSite 7.0 正式版

2009年3月11日下午消息,康盛创想(Comsenz)开源CMS产品SupeSite7.0正式版发布。 作为康盛创想推出的国内安装使用量最大的社区门户产品SupeSite,此次发布与全球市场占有率第一的社区论坛软...

红薯
2009/03/12
1K
0
SupeSite标签数据源的处理及页面标签的定义技巧

开发的CMS系统中模板引擎和标签的开发算是告一段落,而在Discuz的CMS系统SupeSite中借鉴到了很多东西,略作小记,好记性永远不如烂键盘。 当需要将页面解析成静态页面时,当然需要借助模板引...

达摩院法师
2010/10/26
0
0
【上海】招聘php项目组长1人+PHP高级程序员5人

应聘者请将简历发往邮箱lcs051@126.com 公司名称:都尚文化传媒有限公司 联系人:卢先生 联系电话:021-52858159 工作地点:上海 【职位名称:PHP项目组长】 招聘人数:1人 职位要求: 1、精...

都尚传媒
2010/09/05
424
2
这几天找工作,贴下自己简历,请各位大牛们指点下

自我评价: l 精通PHP编程语言,熟悉LAMP构架; l 熟悉 windows 2003, Linux, FreeBSD 服务器系统的维护部属。 l 熟悉大型CMS系统,商城系统二次开发(phpCMS,drupal,ecshop, ecmall, ...

吴涛
2010/12/20
4.3K
50
前辈是运维吗?有问题请教

@小股儿 你好,想跟你请教个问题:我的网站是有supesite7.5搭建的,最近一直有人向上传木马。是不是supesite登录模块或后台管理的某些地方有漏洞,小弟是个菜鸟,请前辈指教如何根治这个问题...

墨梅
2014/03/31
62
0

没有更多内容

加载失败,请刷新页面

加载更多

java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
10
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
5
0
my.ini

1

architect刘源源
今天
7
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
8
0
寻找数学的广度——《这才是数学》读书笔记2700字

寻找数学的广度——《这才是数学》读书笔记2700字: 文|程哲。数学学习方式之广:国内外数学教育方面的专家,进行了很多种不同的数学学习方式尝试,如数学绘本、数学游戏、数学实验、数学步道...

原创小博客
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部