欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
jQuery 1.4 及 官方文檔中文版 發(fā)布

jQuery 1.4 發(fā)布啦

為了慶祝jQuery的四周歲生日, jQuery的團隊榮幸的發(fā)布了jQuery Javascript庫的最新主要版本! 這個(gè)版本包含了大量的編程,測試,和記錄文檔的工作,我們?yōu)榇烁械胶茯湴痢?/p>

我要以個(gè)人的名義感謝 Brandon Aaron, Ben Alman, Louis-Rémi Babe, Ariel Flesler, Paul Irish, Robert Kati?, Yehuda Katz, Dave Methvin, Justin Meyer, Karl Swedberg, and Aaron Quint。謝謝他們在修復BUG和完成這次發(fā)布上所做的工作。

下載(Downloading)

按照慣例,我們提供了兩份jQuery的拷貝,一份是最小化的(我們現在采用Google Closure作為默認的壓縮工具了),一份是未壓縮的(供糾錯或閱讀)。

另外,Google也在他們的服務(wù)器上放置了一份jQuery的拷貝。這份拷貝會(huì )自動(dòng)的最小化然后壓縮 – 并且放在Google最快的緩存服務(wù)器上。

你可以在你的站點(diǎn)上直接引用上面的URL,這樣就可以享受迅速加載jQuery的性能優(yōu)勢了。

就jQuery1.4來(lái)說(shuō),我們努力的減少大規模升級中的麻煩 – 通過(guò)保持所有public函數的簽名。即使如此,還請通讀可能會(huì )造成問(wèn)題的變更列表,這樣能夠了解哪些變更可能會(huì )給你的應用造成問(wèn)題。

(功能) Features

下面的內容概括了jQuery1.4里加入的變更和功能。另外所有的變更都已經(jīng)在jQuery 1.4 的文檔里記錄了。

熱門(mén)方法經(jīng)過(guò)了性能上的大”檢修”

不少比較熱門(mén)的和常用的jQuery方法在1.4里被重寫(xiě)了。(譯注:重寫(xiě)了方法的內部,外部調用沒(méi)有大幅度改變) 我們分析源碼的時(shí)候發(fā)現我們能夠獲得大幅的性能提升,通過(guò)把jQuery和自己比較: 查看內部函數被調用了多少次,然后努力降低源碼的復雜度(譯注:計算機算法中的Complexity)


View the cropped chart.

在1.4版里我們顯著(zhù)的降低了大部分熱門(mén)jQuery方法的的復雜度。

更易用的設置函數 (Easy Setter Functions)

算來(lái)已經(jīng)有一陣了,你們已經(jīng)可以給.attr()傳遞一個(gè)函數,然后這個(gè)函數的結果會(huì )被用來(lái)賦給相應的HTML屬性(attribute)上。這個(gè)功能現在被移植到所有的設置函數了: .css().attr().val().html().text().append().prepend().before().after().replaceWith().wrap().wrapInner().offset().addClass().removeClass(), 以及 .toggleClass().

另外, 對于下面幾個(gè)方法,當前的值會(huì )被作為第2個(gè)變量傳遞給這個(gè)函數。.css().attr().val().html().text().append().prepend().offset().addClass().removeClass(), 以及 .toggleClass().

這樣代碼就可以這樣寫(xiě):

// 找出所有A標簽里的'&'字符,然后用一個(gè)span標簽包圍$('a').html(function(i,html){return html.replace(/&/gi,'&');});// 給一些鏈接的title屬性加些信息$('a[target]').attr("title", function(i,title){return title + " (新窗口打開(kāi))";});

Ajax

嵌套參數的序列化 (jQuery.param() 文檔Commit 1Commit 2)

jQuery 1.4在jQuery.param方法里加入了嵌入參數序列化的支持,借用了PHP編程里興起的,而后又被Ruby on Rails推廣開(kāi)來(lái)的方式。
舉例來(lái)說(shuō),
{foo: ["bar", "baz"]} 會(huì )被序列化為 “foo[]=bar&foo[]=baz”.

在jQuery 1.3版里, {foo: ["bar", "baz"]} 曾被序列化為 “foo=bar&foo=baz”. 但是,這樣做沒(méi)用辦法將只含有一個(gè)元素的陣列編碼。如果你需要舊的序列化方式,你可以設置傳統Ajax設置來(lái)進(jìn)行切換。(使用jQuery.ajaxSettings.traditional進(jìn)行全局切換,或者根據情況單獨切換。

總共有3種方式可以切換到舊的序列化方式:

// 全局改變序列化方式 (使用舊的)jQuery.ajaxSettings.traditional = true;// 指定情況使用舊的序列化方式jQuery.param( stuff, true );// 針對一個(gè)單獨的Ajax請求使用舊的序列化方式$.ajax({ data: stuff, traditional: true });

更多信息參見(jiàn): jQuery.param() 文檔jQuery.ajax() 文檔CommitCode

JSON和腳本類(lèi)型通過(guò)”content-type”自動(dòng)識別。 (jQuery.ajax 文檔Commit 1Commit 2)

如果一個(gè)Ajax請求的回復的媒體類(lèi)型是JSON(application/json), dataType默認設為”json”(如果dataType沒(méi)有被指明)。另外,如果回復的媒體類(lèi)型是 Javascript(application/javascript), dataType默認設為”script”(同樣,如果dataType沒(méi)有明確指明), 這種情況下,腳本會(huì )自動(dòng)運行。

加入了Etag的支持 (jQuery.ajax() 文檔Commit)

默認設置下, jQuery會(huì )忽略Ajax請求的”Last-Modified”頁(yè)頭。這樣做是為了忽略瀏覽器的緩存。設置ifModified:true就可以使 jQuery使用可用的緩存。jQuery1.4還會(huì )發(fā)出”If-None-Match”的頁(yè)頭如果你設置了ifModified選項。

嚴格JSON模式,本地的JSON.parse方法 (jQuery.ajax() 文檔Commit 1Commit 2Commit 3)

jQuery 1.3和以前的版本曾使用Javascript的eval對引入的JSON解析。1.4版則會(huì )使用本地的JSON解析器,前提是如果有本地的解析器可用。它也會(huì )對引入的JSON進(jìn)行校驗。所以在jQuery.getJSON方法里,或當一個(gè)Ajax請求的dataType是”json”的時(shí)候,jQuery會(huì )拒絕不合標準的JSON(例如{foo: "bar"})。

序列化HTML5的元素 (jQuery.param() 文檔Commit)

新的HTML5輸入方法 (比如’datetime’和’range’)在序列化.serialize()一個(gè)表單的時(shí)候會(huì )被包括在內。

Ajax請求的環(huán)境 (jQuery.ajax() 文檔Commit)

你可以附加一個(gè)”環(huán)境”到Ajax請求上,所有的回調函數里都會(huì )擁有同樣的”環(huán)境”設置(這樣可以簡(jiǎn)化你的代碼,盡可能避免使用閉合,或是其他對象)。

jQuery.ajax({url: "test.html",context: document.body,success: function(){jQuery(this).addClass("done");}});

請求成功回調函數的第三個(gè)參數會(huì )被設為原始的XHR對象 (jQuery.ajax() 文檔Commit)

所有的Ajax請求的成功回調函數現在都會(huì )收到原始的XMLHttpRequest對象,作為第三個(gè)參數。之前這個(gè)XHR對象只能通過(guò)$.ajax一類(lèi)方法的返回值來(lái)獲取。

明確設置”Content-Type” (jQuery.ajax() 文檔Commit)

在1.3版,如果沒(méi)有實(shí)際數據發(fā)送,jQuery.ajax的contentType會(huì )被忽略。1.4版里,contentType將總是和請求一同發(fā)送。這修復了某些后臺憑靠”Content-Type”頁(yè)頭判斷回復類(lèi)別所造成的問(wèn)題。

明確設置JSONP回調函數的名字 (jQuery.ajax 文檔Commit)

你可以使用jQuery.ajax()方法的jsonpCallback選項,通過(guò)名字來(lái)指定JSONP的回調函數。

防止啟動(dòng)前跨域XHR (Commit)

跨域Ajax(針對提供支持的瀏覽器)將更易用,因為默認設置下,啟動(dòng)前XHR被阻止了。(TODO)

jQuery.ajax()現在使用”onreadystatechange”事件替換了計時(shí)器 (Commit)

使用”onreadystatechange”替換了輪流探詢(xún),Ajax請求現在將使用更少的資源

元素屬性 (Attributes)

.css().attr() 的性能被優(yōu)化了。

<

.attr()方法多了一個(gè)設置函數作為參數 (.attr() 文檔)

你不但可以將一個(gè)函數用在.attr()里,還可以在這個(gè)函數里使用屬性的當前值。

jQuery('<img src="enter.png" alt="enter your name" />').attr("alt", function(index, value) {return "Please, " + value;});

.val( Function ) (.val() 文檔)

<input class="food" type='text' data-index="0" /><input class="food" type='text' data-index="1" />
jQuery("input:text.food").hide();jQuery("<ul class='sortable'><li>Peanut Butter</li><li>Jelly</li></ul>").sortable().bind("endsort", function() {$(":text.food").val(function() {return $("ul.sortable li:eq(" + $(this).attr("data-index")  + ")").text();});});

text和CDATAHTML元素也支持.text()方法了 (.text() 文檔Commit)

核心 (Core)

快捷元素創(chuàng )建 (jQuery() 文檔Commit)

現在當你需要使用jQuery函數創(chuàng )建一個(gè)元素的時(shí)候,你可以同時(shí)附遞一個(gè)對象來(lái)指定屬性值和事件:

jQuery("
", {id: "foo",css: {height: "50px",width: "50px",color: "blue",backgroundColor: "#ccc"},click: function() {$(this).css("backgroundColor", "red");}}).appendTo("body");

對象里的鍵值的名字與相關(guān)的jQuery的方法的名字是對應的,對象的值會(huì )被作為參數傳遞給jQuery的方法。

(譯注:譬如$("<a>link</a>", {css:{background:"#ccc"}});相當于$("<a>link</a>")).css("background", "#ccc");

.eq(-N), .get(-N) (負指數) (.eq() 文檔.get() 文檔Commit)

你現在可以在.get().eq()方法里使用負數。譬如,你要選擇倒數第2個(gè)div元素,或者是倒數第2個(gè)DOM對象:

$("div").eq(-2);$("div").get(-2);

新的.first()和.last()方法 (.first() 文檔.last() 文檔Commit)

方便起見(jiàn), 新增的.first().last()方法等同于.eq(0).eq(-1).

新的.toArray()方法 (.toArray() 文檔Commit)

.get()方法自始就是從jQuery集合里返回一個(gè)陣列。為了能夠更明確, 你可以用.toArray()來(lái)達到一樣的效果。(譯注:這里應該是為了以后的版本留出空間,譬如以后可能會(huì )加入.toList()方法,到時(shí)候就會(huì )易于區分。) 不過(guò),和.get()不一樣的是,.toArray()不接受參數。

jQuery()返回一個(gè)空集 (jQuery() 文檔Commit)

在jQuery 1.3中,jQuery()方法返回僅包括document的jQuery集合。這個(gè)可以用來(lái)創(chuàng )建一個(gè)空集,然后動(dòng)態(tài)加入一些元素。注: jQuery().ready()方式在1.4中依然有效,但是被指示陳舊了。請使用jQuery(document).ready()或者jQuery(function(){})。

jQuery(“TAG”) (Element Selector 文檔Commit)

當使用單個(gè)標簽名字的時(shí)候jQuery會(huì )使用更快捷的路徑。

jQuery(“<div>”), jQuery(“<div/>”) 和 jQuery(“<div></div>”) (jQuery() 文檔Commit)

現在這三個(gè)方法都使用同一個(gè)代碼路徑了(document.createElement), 來(lái)優(yōu)化jQuery("<div></div>")的性能。注意,如果你指定了屬性,將會(huì )使用瀏覽器本身的語(yǔ)法分析(通過(guò)設置innerHTML)。

樣式 (CSS)

.css()方法在性能是以前的2倍。

.addClass().removeClass(), 和 .hasClass()這幾個(gè)方法在性能上是以前的3倍

.toggleClass()可以切換多個(gè)css類(lèi)了 (.toggleClass() 文檔Commit)

你可以通過(guò).toggleClass()調用多個(gè)css類(lèi)的名字來(lái)切換他們。

$("div").toggleClass("current active");

數據

.data()返回對象, .data(Object)設置對象 (.data() 文檔Commit 1Commit 2)

有時(shí)候你可能需要在一個(gè)元素上附加一個(gè)復雜的對象。一個(gè)常見(jiàn)的例子是你需要從一個(gè)元素身上復制所有的數據到令一個(gè)元素上。在jQuery 1.4里, 不使用任何參數調用.data()時(shí),.data會(huì )返回一個(gè)復雜對象。(譯注: 包含所有鍵-值對的對象。) 調用.data(Object) 則會(huì )設置這個(gè)對象。注意這個(gè)對象還包括了元素上綁定的事件,所以用的時(shí)候要小心。

除非需要, 不然不會(huì )創(chuàng )建數據緩存。 (Commit 1Commit 2Commit 3)

jQuery使用一個(gè)獨特的自定義屬性來(lái)獲取特定元素上附加的數據。當查找數據,但是沒(méi)有新加的數據的時(shí)候,jQuery會(huì )盡量避免創(chuàng )建這個(gè)自定義屬性。這樣可能會(huì )提高性能,同時(shí)還會(huì )在這種情況下避免污染DOM。

效果 (Effects)

單個(gè)屬性緩進(jìn)緩出 (Per-property Easing 文檔Commit)

除了能夠給一個(gè)動(dòng)態(tài)效果指定緩進(jìn)出函數外,你現在可以指定每個(gè)屬性的緩進(jìn)出函數了。James Padolsey的blog上有更進(jìn)一步的信息和演示。

$("#clickme").click(function() {$("div").animate({width: ["+=200px", "swing"],height: ["+=50px", "linear"],}, 2000, function() {$(this).after("<div>Animation complete.</div>");});});

事件 (Events)

新方法: jQuery.proxy() (jQuery.proxy() DocumenationCommit 1Commit 2)

如果你需要保證一個(gè)函數內的”this”恒定地保持某個(gè)值, 你可以用jQuery.proxy獲得一個(gè)相同作用域的函數。

var obj = {name: "John",test: function() {alert( this.name );$("#test").unbind("click", obj.test);}};$("#test").click( jQuery.proxy( obj, "test" ) );

多個(gè)事件綁定 (.bind() 文檔)

你可以通過(guò)遞入一個(gè)對象來(lái)一次性綁定元素的多個(gè)事件。

$("div.test").bind({click: function(){$(this).addClass("active");},mouseenter: function(){$(this).addClass("inside");},mouseleave: function(){$(this).removeClass("inside");}});

‘change’和’submit’事件規范化 (Change 文檔Submit 文檔)

普通的或是即時(shí)的changesubmit事件可以在各種瀏覽器上穩定工作了。我們覆蓋了IE里的changesubmit, 替換為與其他瀏覽器相同的事件。

新的事件: ‘focusin’ and ‘focusout’ (.focusin() 文檔.focusout() 文檔Commit)

focusinfocusout在一般情況下等同于focusblur, 但是多了向父元素傳遞的作用。如果你自己編寫(xiě)你的事件代理模式(TODO), 這個(gè)功能將對你有很大幫助。請注意對focusblur使用live()方法將不會(huì )起作用; 在設計的時(shí)候我們根據 DOM事件規范決定不使其向父元素傳遞事件。

$("form").focusout(function(event) {var tgt = event.target;if (tgt.nodeName == "INPUT" && !tgt.value) {$(tgt).after("nothing here");}});

所有的事件都可以成為即時(shí)事件 (.live() 文檔)

除了readyfocus (用focusin), 和 blur (用focusout)以外, 所有能用.bind()綁定的事件都可以成為即時(shí)事件。

live()所支持的事件里,我們對能夠支持下面這幾個(gè)額外的事件感到尤其驕傲。通過(guò).live()里的事件代理, 1.4版實(shí)現了對changesubmitfocusinfocusoutmouseenter, 以及mouseleave事件的跨瀏覽器支持。

注: 如果你需要即時(shí)的focus事件,你應該用focusinfocusout, 而不要用focusblur, 因為就像前面提到的, focusblur不向上傳遞。

還有, live()也接受數據對象作為參數了, 同bind()方法一樣 (Commit)

live/die也支持環(huán)境變量了 (Commit)

現在可以在綁定事件的時(shí)候給選擇符指定一個(gè)環(huán)境。如果環(huán)境被指定了, 只有屬于這個(gè)環(huán)境下的元素才會(huì )被綁定事件。在創(chuàng )建即時(shí)事件的時(shí)候, 元素本身不需要已經(jīng)被定義, 但是環(huán)境必須被創(chuàng )建。

確定ready事件至少含有body元素 (Commit)

jQuery現在會(huì )檢查body是不是存在,如果不存在,會(huì )對body進(jìn)行輪流探詢(xún)。

在不需要手動(dòng)處理內存溢出的非IE瀏覽器中, 卸載的速度提高了。 (Commit)

DOM操作 (Manipulation)

在jQuery 1.4里一系列的DOM操作方法的性能都有巨大的提升。

.append().prepend().before(), and .after()的性能提高了。

.html()的性能提高到以前的3倍。

.remove()和.empty()的速度則達到以前的4倍.

新方法: .detach() (.detach() 文檔Commit)

detach()將一個(gè)元素從DOM里移除, 但是并不卸載關(guān)聯(lián)的事件處理函數。這個(gè)方法可用于暫時(shí)性的將一個(gè)元素移除,執行相關(guān)操作,然后返回。

var foo = $("#foo").click(function() {// 相關(guān)操作});foo.detach();// foo保留了相關(guān)處理函數foo.appendTo("body");

新的unwrap()方法 (documentationcommit)

unwrap()方法拿到一個(gè)已知的父元素的子元素,然后將父元素用子元素替換。(譯注: 將子元素從”包裹”里拿出來(lái), 因名unwrap)。如此這般:

<body><div><p>annie</p> <p>davey</p> <p>stevie</p></div></body>
$('div').unwrap();
<body><p>annie</p> <p>davey</p> <p>stevie</p></body>

domManip方法里的緩存 (commit)

jQuery會(huì )將jQuery("<div>").after("<div>")一類(lèi)方法創(chuàng )建的節點(diǎn)記入緩存。這樣, 對于利用這些方法, 使用字符串進(jìn)行DOM操作的頁(yè)面,性能將有極大的提高。

無(wú)連接的節點(diǎn)間的before, after, replaceWith操作 (commit)

現在你可以對還沒(méi)有放置到DOM Tree上的節點(diǎn)進(jìn)行beforeafter, 和replaceWith的操作了。意味著(zhù)你可以先對節點(diǎn)進(jìn)行復雜的操作, 待完成后再放到合適的DOM位置上。這樣也能盡量避免操作過(guò)程中造成重新排版。

jQuery("<div>").before("<p>Hello</p>").appendTo("body")

.clone(true) 也會(huì )復制關(guān)聯(lián)數據 (clone 文檔commit)

1.3版中, .clone(true)雖然也是深度復制, 但是沒(méi)有復制關(guān)聯(lián)的數據。1.4版里,它則會(huì )復制數據, 同時(shí)還包括所有的事件。這點(diǎn)上和jQuery.extend在語(yǔ)義想同的, 所以普通對象和陣列會(huì )被復制, 但是自定義的對象則不會(huì )。

位移 (Offset)

.offset( coords | Function ) (.offset() 文檔commit)

現在可以設置元素的位移了! 和所有的設置函數一樣, offset也可以接受一個(gè)函數作為第二個(gè)參數。

隊列 (Queueing)

隊列經(jīng)歷了一次大修, 使用隊列會(huì )比使用默認的fx更易掌握。

新的 .delay() 方法 (.delay() 文檔commit)

.delay()方法會(huì )根據參數滯后若干毫秒執行隊列里剩下的對象。默認的它會(huì )使用”fx”隊列。但你可以選擇性的通過(guò)delay方法的第二個(gè)參數選擇其他隊列。(譯注:每個(gè)隊列都以一個(gè)名字識別。)

$("div").fadeIn().delay(4000).fadeOut();

隊列里的next (.queue() 文檔commit)

jQuery 1.4版里, 當隊列里的一個(gè)函數被調用的時(shí)候,第一個(gè)參數會(huì )被設為另一個(gè)函數。當后者被調用的時(shí)候, 會(huì )自動(dòng)排除隊列里的下一個(gè)對象, 以此來(lái)推動(dòng)隊列到下一步。

jQuery("div").queue("ajax", function(next) {var self = this;jQuery.getJSON("/update", function(json) {$(self).html(json.text);next();};}).queue("ajax", function() {$(this).fadeIn();});

.clearQueue() (clearQueue 文檔commit)

隊列可以被清空了。這個(gè)方法會(huì )移除隊列里所有未執行的函數, 但不會(huì )移除正在運行的函數。無(wú)參數的情況下調用.clearQueue()方法將會(huì )清空默認的”fx”隊列。

選擇符 (Selectors)

“#id p”效率更高 (commit)

所有以ID開(kāi)頭的選擇符都得到了優(yōu)化, 能夠在瞬間得到返回值。所有以ID為開(kāi)頭的選擇符速度將一直快于其他選擇符。

頁(yè)面遍訪(fǎng) (Traversing)

.index(), .index(String) (index 文檔commit)

.index() 方法經(jīng)過(guò)重寫(xiě), 變得更加直觀(guān)和靈活。

你可以獲得一個(gè)元素相對于同父元素的指數:

// 計算第一個(gè) <li class="current"> 元素在它所有的同父元素中的指數:$("li.current").index()

你也可以獲得一個(gè)元素在一個(gè)jQuery元素集合中的指數, 這個(gè)集合可以用一個(gè)選擇符或者是一個(gè)DOM元素來(lái)指定:

// 計算這個(gè) <h3 id="more-info"> 元素在頁(yè)面上所有 <h3> 元素里的指數:$("#more-info").index("h3")

新的.has()方法 (has 文檔commit)

這個(gè)方法相當于選擇符里的:has()過(guò)濾法。它拿到一個(gè)jQuery集合,返回含有指定選擇符的元素。

新的 .nextUntil(), .prevUntil(), .parentsUntil() 方法 (.nextUntil() 文檔.prevUntil() 文檔.parentsUntil() 文檔commit)

新的”until”方法類(lèi)似于.nextAll().prevAll(), 和.parents()。區別是可以用一個(gè)選擇符來(lái)停止元素探索。

.add(String, Element) (.add() 文檔commit)

可以給.add()方法指定環(huán)境了。這個(gè)功能可以用于在一個(gè)調用鏈中加入和操作額外元素(比如Ajax請求里返回的新元素)。

.closest(filter, DOMElement) (.closest() 文檔commit)

可以通過(guò)closest方法的第2個(gè)參數設置一個(gè)DOMElement環(huán)境。給closest設置一個(gè)環(huán)境一般能夠提高這個(gè)方法的運行速度。這個(gè)優(yōu)化也適用live(), 因為這個(gè)方法內部調用了closest()。

常用工具 (Utilities)

jQuery.isEmptyObject() (jQuery.isEmptyObject() 文檔commit)

如果對象,em>沒(méi)有任何屬性, 該方法將返回true。jQuery.isEmptyObject()方法不對參數進(jìn)行任何檢查, 所以請保證參數是一個(gè)對象。

jQuery.isPlainObject() (jQuery.isPlainObject()commit )

如果一個(gè)對象是通過(guò)字符創(chuàng )建的(譯注:{}),jQuery.isPlainObject()返回true; 如果對象是其他類(lèi)別的對象(譯注:如new Object())或者是基本類(lèi)型, 則返回false。

jQuery.contains() (jQuery.contains() 文檔commit)

如果兩個(gè)參數都是DOM節點(diǎn),并且第二個(gè)節點(diǎn)是嵌套在第一個(gè)節點(diǎn)內部的話(huà), jQuery.contains()返回true。反之返回false。

jQuery.noop (jQuery.noop() 文檔commit)

是個(gè)空的函數, 可以用在必須要有一個(gè)函數的情況下。(譯注: noop是No Operation的意思。)

jQuery.unique() (jQuery.unique() 文檔)

jQuery 1.4版中, jQuery.unique()方法返回結果里的元素是按照他們在頁(yè)面里的順序排序的。由于在創(chuàng )建jQuery集合的時(shí)候jQuery使用jQuery.unique()方法, 所以jQuery方法返回的集合也是按照他們在頁(yè)面里的順序排列的。

其他 (Miscellaneous)

jQuery.browser以瀏覽器引擎為中心 (jQuery.browser 文檔commit)

例如, 你可以通過(guò)jQuery.browser.webkit探測引擎是否是Webkit。

改進(jìn)了對applets的處理 (commit 1commit 2)

jQuery不再試圖在Java applets上綁定事件或是數據了(綁定事件或是數據會(huì )出現錯誤)。

不再使用arguments.callee (commit)

為了順應Caja的要求, 同時(shí)也因為即將開(kāi)始應用的ECMAScript 5規范里將其標記為陳舊, 我們將jQuery核心中所有用到arguments.callee的代碼都移除了。

用Closure Compiler替換了YUI Min (commit)

中文API文檔支持

您可以在Ajax之家(http://www.ajaxa.cn/)下載最新的API文檔

內部重組 (Internal Reorganization)

在1.4版的開(kāi)發(fā)過(guò)程中的一個(gè)重點(diǎn)是要建立一個(gè)更易讀, 更易懂的代碼庫。為了達到這個(gè)目標我們樹(shù)立了一系列編寫(xiě)代碼規范的向導。

下面是一些主要的變化:

  • 舊的’core.js’文件被分成了’attribute.js’, ‘css.js’, ‘data.js’, ‘manipulation.js’, ‘traversing.js’, and ‘queue.js’.

  • ready事件被移入了’core.js’ (因為它是jQuery的一個(gè)基本組成之一)。

  • 大部分核心代碼都符合新的代碼規范.

  • css和屬性的邏輯被劃分開(kāi)來(lái), 不再如以往相互纏繞。

測試 (Testing)

jQuery 1.4版發(fā)布過(guò)程中我們修復了207個(gè)問(wèn)題 (比較之下1.3版里有97個(gè)修復)。

jQuery 1.4.此外, 測試的數量從jQuery 1.3.2中的1504例升到了1.4中的3060例。

所有測試都在主要瀏覽器里完全通過(guò)了。(Safari 3.2, Safari 4, Firefox 2, Firefox 3, Firefox 3.5, IE 6, IE 7,
IE 8, Opera 10.10, and Chrome)

我們盡量試圖減小jQuery 1.4對大規模升級可能造成的麻煩 – 保持所有公開(kāi)函數的簽名不變。即使如此, 請通讀下面的列表以保證你對可能對你的應用造成問(wèn)題的變更。

  • .add()不再簡(jiǎn)單的將結果串聯(lián)到一起, 結果將會(huì )被混合到一起, 然后根據他們在頁(yè)面里的順序排列。

  • .clone(true)將復制事件和數據, 而不僅是事件。

  • jQuery.data(elem) 不再返回id, 取而代之的是元素的對象緩存。

  • jQuery() (無(wú)參數) 不再自動(dòng)轉換成jQuery(document)了。

  • 通過(guò).val(“…”)獲得一個(gè)option或一個(gè)checkbox的值不再有歧義(將總是根據value屬性選擇, 而不是根據text的值)。(Commit)

  • jQuery.browser.version現在將返回引擎的版本.

  • 現在起將對引入的JSON更嚴格, 如果JSON的格式不符將會(huì )報錯。如果你需要對不符合JSON嚴格格式的Javascript進(jìn)行估值, 你必須設置請求的文件類(lèi)型為純文本, 然后用eval()來(lái)對內容估值。

  • 參數序列化默認會(huì )按照PHP/Rails的風(fēng)格進(jìn)行。你可以通過(guò)jQuery.ajaxSettings.traditional = true;來(lái)切換到舊的序列化方式。你也可以針對個(gè)別請求進(jìn)行切換, 在調用jQuery.ajax的時(shí)候遞入{traditional: true}

  • 內部的jQuery.className被移除了。

  • jQuery.extend(true, …)不再擴展復雜對象或是陣列。(TODO)

  • 如果一個(gè)Ajax請求沒(méi)有指定dataType, 而返回的數據類(lèi)型是”text/javascript”, 那么回復將會(huì )被執行。之前, 必須明確的指定dataType。

  • 設置Ajax 請求的”ifModified”屬性會(huì )將ETags納入考慮。

我們還針對1.4版中可能造成問(wèn)題的變更編寫(xiě)了一個(gè)向后兼容的插件。如果你升級到1.4以后出現問(wèn)題, 可以在引入1.4版的文件之后引入這個(gè)插件。

如何使用這個(gè)插件:

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
前端必備:jQuery 1.7.1API手冊
JQuery_01
jQuery 遍歷
前端開(kāi)發(fā)面試題 | 菜鳥(niǎo)教程
簡(jiǎn)易版jQuery
jQuery 1.4正式發(fā)布:一起來(lái)看有哪些新變化(上篇) - 博客園知識庫
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久