皈依舞
2019-03-13 18:15:38
有沒有比以下4個方法,更優(yōu)雅的解決方案?1、使用jQuery代替$. 如:jQuery.ajax();缺點:不適合擴展,一旦替換成第三方庫時,那就麻煩大發(fā)2、使用jQuery.noConflict。 如:var j = jQuery.noConflict(); j.ajax();缺點:當使用jQuery的相關(guān)插件時,會使得插件失效哦!3、wrap jQuery中的沖突方法。如$.ajax()在Velocity中會沖突,則重新定義如下:function dw(){}dw.ajax=function(s){ jQuery.ajax(s); } dw.ajax();方案3基本上解決了1、2中的缺點~~~故推薦使用第三種方法!4、定義一個 $JQ="$."以后可以用 ${JQ}ajax().......
4 回答

慕桂英3389331
TA貢獻2036條經(jīng)驗 獲得超8個贊
十秒鐘以內(nèi)沒搜明白什么是velocity,好像這個叫Velocity.js的貨怎么看也和jQuery.ajax
沒關(guān)系,先不管了
如果沖突的是$
這個名字,那么我認為正道應(yīng)該就是1了,也就是jQuery.noConfilict()
,然后用jQuery,至于第三方庫,如果第三方庫連這個都不支持,還在依賴window.$
的話,我建議你強烈懷疑那個第三方庫的作者的水準,盡量踢掉,實在不行就幫他包一層(function($){})(jQuery)
也就是一句話的事兒
重頭看一遍好像又有點像那個模板引擎的問題了。那么答案應(yīng)該是在HTML里嵌入JS代碼是邪路,醒醒吧少年
添加回答
舉報
0/150
提交
取消