引入prototype.js后jQuery方法报错

      增加一个项目功能,在项目引入jQuery文件后又引入了一个prototype.js,将其引入后,功能可以正常使用但是发现页面内的其他jQuery方法开始报错。一开始想的是将prototype.js的方法封闭起来,就想当然的将prototype.js的源码拷入到引用的js文件中,结果发现影响是全局的。后来经过考虑,终于找到了正确的方法,将我自己的jquery代码封起来,项目正常运行。

;(function($) {
    //jquery方法
})(JQuery);

       其实,经过对比prototype.js与jQuery就会发现,两者的歧义主要在于"$",因此在不想重写某个功能需要保留prototype.js的情况下,我们可以给自己的立即执行函数加一个参数。

       prototype.js后jQuery冲突的解决办法还有一个就是使用jQuery的noConflict()方法,许多 JavaScript 库使用 $ 作为函数或变量名,jQuery 也一样。在 jQuery 中,$ 仅仅是 jQuery 的别名,因此即使不使用 $ 也能保证所有功能性。假如我们需要使用 jQuery 之外的另一 JavaScript 库,我们可以通过调用 $.noConflict() 向该库返回控制权。在运行完这个函数之后,就只能使用jQuery变量访问jQuery对象(函数不带参数),例如jQuery('div')。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值