成人精品一区二区三区中文字幕-成人精品一区二区三区-成人精品一级毛片-成人精品亚洲-日本在线视频一区二区-日本在线视频免费

導航首頁 ? 技術教程 ? jQuery解決$符號命名沖突
全站頭部文字 我要出現在這里
jQuery解決$符號命名沖突 728 2024-02-27   

  前些天朋友讓我幫他解決一個頁面中jquery特效的兼容性問題,覺得這是一個很容易忽略也很重要的一點,特在此記錄一下。

  朋友給的頁面中用到了三個特效,其中兩個特效可以顯示,第三個沒有效果。通過查看引用的js文件,我發現頁面中不光引入了jquery.js,還引入了一個名為prototype.js的文件。 這個prototype.js之前未曾聽說過,特意在百度上搜了一下,原來它也是一個js類庫,功能和jquery差不多,而且很強大。

  通過一點點的排查,我發現那兩個可以顯示的特效引用的是jquery,而不顯示的那個特效引用的是這個prototype.js。 稍一分析,終于找到了出錯的關鍵:jquery中的$和prototype.js中的$沖突了,兩個類庫中都是通過$符號來調用,然而如果直接這樣寫的話就會不知道這個$是屬于誰的,該調用哪個類庫中的方法來實現特效的顯示。

  既然找到了問題的根結所在,那這個問題也就好解決了。

方法一:在jquery中,有這樣一段代碼:

// Expose jQuery to the global object

window.jQuery = window.$ = jQuery;

  也就是說,我們可以通過jQuery來代替jquery.js中的$符號進行調用,前提必須聲明一下:

jQuery = $;

  那,新的問題又出現了。頁面中有那么多地方用到了$,我不僅要區分到底哪些$是屬于jquery的,還要將這些$替換成jQuery這個單詞,更嚴重的是,如果該頁面中要增加新的jquery特效,我還要時刻的提醒自己,調用$的時候要用jQuery來代替,稍一疏忽,不僅出不來想要的效果,而且修改起來也是一個大工作量的任務。看來,這種方法是行不通的。

  難道就沒有一個一勞永逸的方法可以將這個$的"歸屬權"給明確的區分出來嗎?辦法當然是有的!

方法二:使用jquery語句塊來實現:

首先,來看一下jquery語句塊的格式:

(function($){ 
 ..... 
 $('#msg').show();//此時在這個語句塊中使用的都是jquery.js中定義的$. 

})(JQuery)

  這樣,我們在調用jquery中的$實現特效顯示時,只要把這段代碼寫在這個語句塊中,$符號該怎么調用還怎么調用。而prototype.js中的$寫在語句塊外,$符號也是該怎么調用怎么調用,兩者根本不會產生什么影響了。

以上就是本文的全部內容,希望這個方法也能給遇到相同問題的其他人帶來幫助,也希望大家多多支持綠夏網。



主站蜘蛛池模板: 《傲慢与偏见》电影在线观看| 间宫祥太朗| 《潜艇行动》免费观看| 诊所惊魂| 美人计电影国语免费观看| 心理健康《微笑的力量》ppt| 唐瑜苏沐月是哪部短剧| 性在线观看| 迪卡娅电影| 电视剧《流金岁月》演员表| 二胡独奏我的祖国| 女同恋性吃奶舌吻完整版| 男微信头像| 亲吻姐姐ova| 王宝强盲井| 国内性爱视频| 米奇888| 埃尔加,她狼| 说木叶原文| 慕思成| 麻花影业| 阻击之王电影在线观看| 电影《divinotesoro》| 六下英语单词表| 我被最想拥抱的男生威胁了| 舌吻床戏视频| 周星驰原名| 意乱情迷| 3d成人国产同人动漫焰灵姬| 非常完美 电影| 大国医 电视剧| 第一财经在线直播电视| 杨英格| 就爱小姐姐| 小救星小渡| 仓皇一夜| 韩秀云讲经济| 经文大悲咒| 欲望之屋2电视剧免费观看完整版高清| | 1024电影|

?。?!站長長期在線接?。?!

網站、小程序:定制開發/二次開發/仿制開發等

各種疑難雜癥解決/定制接口/定制采集等

站長微信:lxwl520520

站長QQ:1737366103