jQuery.browser()
官方推薦修改方式是通過條件判斷來區分不同的瀏覽器·
<!--[if lt IE 9]><script src="http://m.cnblogs.com/109793/jquery-1.9.0.js" rel="nofollow"/><![endif]--> <!--[if gte IE 9]> <script src="http://m.cnblogs.com/109793/jquery-2.0.0.js" rel="nofollow"/> <![endif]-->
如果必須要繼續使用jQuery.browser()可以添加“jquery-browser”插件,但我沒有測試該插件。
對于你自己的項目功能檢測的需求, 我們強烈建議使用外部庫,比如Modernizr的,而不是依賴于jQuery.support上的屬性。(因為 jQuery 內部需要使用support這些方法來進行檢測,所以它們會在每次加載頁面時被執行,但是當 jQuery 的內部代碼不再需要某些屬性時,它們就會被移除。)·
.live()
.live()方法在1.9中移除,@ZPS在郵件中已經告知過大家。對于.live()方法的移除,升級比較簡單,僅僅是將“.live()”替換為“.on()”。
.die()
相對于“.live()”方法的移除,“.die()”方法也從1.9中移除,取而代之的是“.off()”方法。正如在1.9之前,很多人只關注 過“.live()”方法,卻不知道還有個“.die()”方法,或許還會有Coder不知道如何去掉.on()添加的事件,其實就是用“.off()” 進行刪除添加的事件。
jQuery.sub()
.sub()方法可以創建一個新的jQuery副本而不影響原有的jQuery對象,我對該方法的理解是:其實.sub()方法就是增加或重寫jQuery的方法或創建新plugin,有待討論。
從上面升級指南上來看,.sub()方法并沒有被removed,而是被moved到其他plugin,所以應該是還可以用的,只要引用相應的plugin。
官方給出的使用.sub()的兩個特定情況:一是在不改變原有方法的前提下提供一種簡單的重寫jQuery方法的途徑,二是幫助用戶解決jQuery plugin封裝和基本命名空間。
.toggle(function, function, … )
下面這個jQuery插件能夠還原1.8的toggle的功能,如果你需要,可以直接把下面這段代碼拷貝到你的jQuery里面,然后跟平時一樣使用toggle的功能即可。
//toggle plugin from caibaojian.com $.fn.toggler = function( fn, fn2 ) { var args = arguments,guid = fn.guid || $.guid++,i=0, toggler = function( event ) { var lastToggle = ( $._data( this, "lastToggle" + fn.guid ) || 0 ) % i; $._data( this, "lastToggle" + fn.guid, lastToggle + 1 ); event.preventDefault(); return args[ lastToggle ].apply( this, arguments ) || false; }; toggler.guid = guid; while ( i < args.length ) { args[ i++ ].guid = guid; } return this.click( toggler ); };
其實toggle這個去掉主要是考慮到會混淆,而且jquery里面已經可以實現了,這個是多余出來的。
我們可以這樣子修改
//code from http://caibaojian.com/jquery1-9-tutorial.html $('#example').click(function(){$("#exampleBox").toggle();})
改為
$('#example').click(function(){ if($("#exampleBox").is(":visible")){ $("#exampleBox").hide(); do stuff }else{ $("#exampleBox").show(); do stuff } }) $("#example").hover(function(){$("#exampleBox").toggle(); })
改為
$("#example").hover(function(){ $("#exampleBox").show(); },function(){ $("#exampleBox").hide(); });
豈不是更加清晰明了
或者你也可以使用toggleClass來通過添加類來顯示與隱藏。
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com