为了账号安全,请及时绑定邮箱和手机立即绑定

如何优雅的解决velocity与jquery的冲突

如何优雅的解决velocity与jquery的冲突

皈依舞 2019-03-13 18:15:38
有没有比以下4个方法,更优雅的解决方案?1、使用jQuery代替$. 如:jQuery.ajax();缺点:不适合扩展,一旦替换成第三方库时,那就麻烦大发2、使用jQuery.noConflict。 如:var j = jQuery.noConflict(); j.ajax();缺点:当使用jQuery的相关插件时,会使得插件失效哦!3、wrap jQuery中的冲突方法。如$.ajax()在Velocity中会冲突,则重新定义如下:function dw(){}dw.ajax=function(s){ jQuery.ajax(s); } dw.ajax();方案3基本上解决了1、2中的缺点~~~故推荐使用第三种方法!4、定义一个 $JQ="$."以后可以用 ${JQ}ajax().......
查看完整描述

4 回答

?
www说

TA贡献1775条经验 获得超8个赞

(function($){})(jQuery);可以解决大部分问题了。


查看完整回答
反对 回复 2019-04-12
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

十秒钟以内没搜明白什么是velocity,好像这个叫Velocity.js的货怎么看也和jQuery.ajax没关系,先不管了

如果冲突的是$这个名字,那么我认为正道应该就是1了,也就是jQuery.noConfilict(),然后用jQuery,至于第三方库,如果第三方库连这个都不支持,还在依赖window.$的话,我建议你强烈怀疑那个第三方库的作者的水准,尽量踢掉,实在不行就帮他包一层(function($){})(jQuery)也就是一句话的事儿

重头看一遍好像又有点像那个模板引擎的问题了。那么答案应该是在HTML里嵌入JS代码是邪路,醒醒吧少年


查看完整回答
反对 回复 2019-04-12
?
ibeautiful

TA贡献1993条经验 获得超6个赞

;(function($){

    $(function(){

        //...

    })

})(jQuery)


查看完整回答
反对 回复 2019-04-12
  • 4 回答
  • 0 关注
  • 648 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号