最近做項(xiàng)目的時(shí)候,遇到了一個(gè)問(wèn)題:在引入jquery庫(kù)和imgbox插件之后,調(diào)用imgbox出現(xiàn)了沖突。
為了解決這個(gè)問(wèn)題,我分別查看了jquery和imgbox的官方文檔,最終找到了問(wèn)題所在。原來(lái)是因?yàn)閮烧叨级x了$變量。jquery定義了全局變量$表示jquery本身,而imgbox也用了$表示它自己的命名空間,在調(diào)用imgbox方法的時(shí)候就有可能出現(xiàn)沖突。
//jquery源碼中定義的全局變量$ var jQuery = window.jQuery; window.$ = jQuery; //imgbox中也定義了$變量 var $ = { /** * options * speed:動(dòng)畫(huà)速度,單位為毫秒。 * event:綁定事件,默認(rèn)為click。 * minWidth:最小寬度,單位為像素。 * minHeight:最小高度,單位為像素。 * onShow:顯示大圖的回調(diào)方法。 * onHide:隱藏大圖的回調(diào)方法。 * filter:篩選器,用于在多個(gè)元素中只選擇需要綁定事件的元素。 * attr:屬性,用于在img標(biāo)簽中獲取大圖路徑。 } };
解決這個(gè)問(wèn)題的方法也很簡(jiǎn)單,可以使用jquery.noConflict()方法來(lái)釋放$變量的控制權(quán),這樣imgbox就不會(huì)再與jquery發(fā)生沖突了。
//釋放$變量控制權(quán) var $j = jQuery.noConflict(true);
以上就是我解決imgbox和jquery沖突的過(guò)程及方法,希望能對(duì)大家有所幫助。
上一篇心形css代碼