頁面載入
ready(fn):當DOM載入就緒可以查詢及操縱時綁定一個要執行的函數,可以極大地提高web應用程序的響應速度。
有一個參數--對jQuery函數的引用--會傳遞到這個ready事件處理函數中。
可以給這個參數任意起一個名字,並因此可以不再擔心命名衝突而放心地使用$別名。
事件處理
on(eve,[sel],[data],fn):在選擇元素上綁定一個或多個事件的事件處理函數。
on()方法綁定事件處理程序到當前選定的jQuery對象中的元素。
events:一個或多個用空格分隔的事件類型和可選的命名空間,如"click"或"keydown.myPlugin" 。
selector:一個選擇器字符串用於過濾器的觸發事件的選擇器元素的後代。
data:當一個事件被觸發時要傳遞event.data給事件處理函數。
fn:該事件被觸發時執行的函數。
off(eve,[sel],[fn]):fn:該事件被觸發時執行的函數。
off() 方法移除用.on()綁定的事件處理程序。
one(type,[data],fn):爲每一個匹配元素的特定事件(像click)綁定一個一次性的事件處理函數。
type:添加到元素的一個或多個事件。由空格分隔多個事件。必須是有效的事件。
data:將要傳遞給事件處理函數的數據映射。
fn:每當事件觸發時執行的函數。
trigger(type,[data]):在每一個匹配的元素上觸發某類事件。
type:一個事件對象或者要觸發的事件類型。
data:傳遞給事件處理函數的附加參數。
triggerHandler(type, [data]):這個特別的方法將會觸發指定的事件類型上所有綁定的處理函數。
但不會執行瀏覽器默認動作,也不會產生事件冒泡。
這個方法的行爲表現與trigger類似,但有以下三個主要區別:
-
第一,他不會觸發瀏覽器默認事件。
-
第二,只觸發jQuery對象集合中第一個元素的事件處理函數。
-
第三,這個方法的返回的是事件處理函數的返回值,而不是據有可鏈性的jQuery對象。
此外,如果最開始的jQuery對象集合爲空,則這個方法返回 undefined 。
type:要觸發的事件類型。
data:傳遞給事件處理函數的附加參數。
事件切換
hover([over,]out):一個模仿懸停事件(鼠標移動到一個對象上面及移出這個對象)的方法。
over:鼠標移到元素上要觸發的函數。
out:鼠標移出元素要觸發的函數。
toggle([spe],[eas],[fn]):用於綁定兩個或多個事件處理器函數,以響應被選元素的輪流的 click 事件。
speed: 隱藏/顯示 效果的速度。默認是 “0"毫秒。可能的值:slow,normal,fast。”
easing:(Optional) 用來指定切換效果,默認是"swing",可用參數"linear"。
fn:在動畫完成時執行的函數,每個元素執行一次。
事件
blur([[data],fn]):當元素失去焦點時觸發 blur 事件。
data:blur([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的blur事件中綁定的處理函數。
change([[data],fn]):當元素的值發生改變時,會發生 change 事件。
data:change([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的change事件中綁定的處理函數。
click([[data],fn]):觸發每一個匹配元素的click事件。
data:click([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的click事件中綁定的處理函數。
dblclick([[data],fn]):當雙擊元素時,會發生 dblclick 事件。
data:dblclick([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的dblclick事件中綁定的處理函數。
focus([[data],fn]):當元素獲得焦點時,觸發 focus 事件。
可以通過鼠標點擊或者鍵盤上的TAB導航觸發。這將觸發所有綁定的focus函數,注意,某些對象不支持focus方法。
data:focus([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的focus事件中綁定的處理函數。
focusin([data],fn):當元素獲得焦點時,觸發 focusin 事件。
focusin事件跟focus事件區別在於,他可以在父元素上檢測子元素獲取焦點的情況。
data:focusin([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的focusin事件中綁定的處理函數。
focusout([data],fn):當元素失去焦點時觸發 focusout 事件。
focusout事件跟blur事件區別在於,他可以在父元素上檢測子元素失去焦點的情況。
data:focusout([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的focusout事件中綁定的處理函數。
keydown([[data],fn]):當鍵盤或按鈕被按下時,發生 keydown 事件。
註釋:如果在文檔元素上進行設置,則無論元素是否獲得焦點,該事件都會發生。
data:keydown([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的keydown事件中綁定的處理函數。
keypress([[data],fn]):當鍵盤或按鈕被按下時,發生 keypress 事件。
keypress 事件與 keydown 事件類似,當按鈕被按下時,會發生該事件。
它發生在當前獲得焦點的元素上,不過,與 keydown 事件不同,每插入一個字符,就會發生 keypress 事件。
註釋:如果在文檔元素上進行設置,則無論元素是否獲得焦點,該事件都會發生。
data:keypress([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的keypress事件中綁定的處理函數。
keyup([[data],fn]):
當按鈕被鬆開時,發生 keyup 事件。它發生在當前獲得焦點的元素上。
註釋:如果在文檔元素上進行設置,則無論元素是否獲得焦點,該事件都會發生。
data:keyup([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的keyup事件中綁定的處理函數。
mousedown([[data],fn]):當鼠標指針移動到元素上方,並按下鼠標按鍵時,會發生 mousedown 事件。
mousedown 與 click 事件不同,mousedown 事件僅需要按鍵被按下,而不需要鬆開即可發生。
data:mousedown([Data], fn) 可傳入data供函數fn處理。
fn:在每一個匹配元素的mousedown事件中綁定的處理函數。
mouseenter([[data],fn]):當鼠標指針穿過元素時,會發生 mouseenter 事件。該事件大多數時候會與mouseleave 事件一起使用。
與 mouseover 事件不同,只有在鼠標指針穿過被選元素時,纔會觸發 mouseenter 事件。如果鼠標指針穿過任何子元素,同樣會觸發 mouseover 事件。
mouseleave([[data],fn]):當鼠標指針離開元素時,會發生 mouseleave 事件。該事件大多數時候會與mouseenter 事件一起使用。
與 mouseout 事件不同,只有在鼠標指針離開被選元素時,纔會觸發 mouseleave 事件。如果鼠標指針離開任何子元素,同樣會觸發 mouseout 事件。
mousemove([[data],fn]):當鼠標指針在指定的元素中移動時,就會發生 mousemove 事件。
mousemove事件處理函數會被傳遞一個變量——事件對象,其.clientX 和 .clientY 屬性代表鼠標的座標。
mouseout([[data],fn]):當鼠標指針從元素上移開時,發生 mouseout 事件。
該事件大多數時候會與 mouseover 事件一起使用。
註釋:與 mouseleave 事件不同,不論鼠標指針離開被選元素還是任何子元素,都會觸發 mouseout 事件。只有在鼠標指針離開被選元素時,纔會觸發 mouseleave 事件。
mouseover([[data],fn]):當鼠標指針位於元素上方時,會發生 mouseover 事件。
該事件大多數時候會與 mouseout 事件一起使用。
註釋:與 mouseenter 事件不同,不論鼠標指針穿過被選元素或其子元素,都會觸發 mouseover 事件。只有在鼠標指針穿過被選元素時,纔會觸發 mouseenter 事件。
mouseup([[data],fn]):當在元素上放鬆鼠標按鈕時,會發生 mouseup 事件。
與 click 事件不同,mouseup 事件僅需要放鬆按鈕。當鼠標指針位於元素上方時,放鬆鼠標按鈕就會觸發該事件。
resize([[data],fn]):當調整瀏覽器窗口的大小時,發生 resize 事件。
scroll([[data],fn]):當用戶滾動指定的元素時,會發生 scroll 事件。
select([[data],fn]):當 textarea 或文本類型的 input 元素中的文本被選擇時,會發生 select 事件。
submit([[data],fn]):當提交表單時,會發生 submit 事件。
延遲對象
def.done(d,[d]):當延遲成功時調用一個函數或者數組函數。
該參數可以是一個函數或一個函數的數組。
當延遲成功時,doneCallbacks被調用。
回調執行是依照他們添加的順序。
一旦deferred.done()返回延遲對象,延遲對象的其它方法也可以鏈接到了這裏,包括增加.done()方法。
當延遲解決,doneCallbacks執行使用參數提供給resolve或resolveWith方法依照添加的順序調用。
def.fail(failCallbacks):當延遲失敗時調用一個函數或者數組函數.。
該參數可以是一個函數或一個函數的數組。
當延遲失敗時,doneCallbacks被調用。
回調執行是依照他們添加的順序。
一旦deferred.fail()返回延遲對象,延遲對象的其它方法也可以鏈接到了這裏,包括增加.done()方法。
當延遲解決,doneCallbacks執行使用參數提供給resolve或resolveWith方法依照添加的順序調用。
def.reject(args):拒絕延遲對象,並根據給定的參數調用任何失敗的回調函數。
當延遲被拒絕,任何failCallbacks添加的deferred.then或deferred.fail被調用。
回調按他們添加的順序執行。每個回調傳遞的args在deferred.reject()中調用。
之後添加任何failCallbacks遞延被拒絕進入狀態時,立即執行添加,使用的參數被傳遞給.reject()調用。
def.rejectWith(c,[a]):拒絕延遲的對象,並根據給定的上下文和參數調用任何失敗的回調函數。
當延遲被拒絕,任何doneCallbacks添加的deferred.then或deferred.fail被調用。
回調按他們添加的順序執行。
每個回調傳遞的args在deferred.reject()中調用。
之後添加任何failCallbacks遞延被拒絕進入狀態時,立即執行添加,使用的參數被傳遞給.reject()調用。
def.resolve(args):解決遞延對象,並根據給定的參數調用任何完成的回調函數。
當遞延被解決,任何failCallbacks添加的deferred.then或deferred.fail被調用。
回調按他們添加的順序執行。
每個回調傳遞的args在deferred.reject()中調用。
之後添加任何failCallbacks遞延被拒絕進入狀態時,立即執行添加,使用的參數被傳遞給.reject()調用。
def.resolveWith(c,[a]):解決遞延對象,並根據給定的上下文和參數調用任何完成的回調函數。
當遞延被解決,任何doneCallbacks 添加的deferred.then或deferred.fail被調用。
回調按他們添加的順序執行。
每個回調傳遞的args在deferred.reject()中調用。
之後添加任何failCallbacks遞延被拒絕進入狀態時,立即執行添加,使用的參數被傳遞給.reject()調用。
def.promise([ty],[ta]):返回一個 Promise 對象用來觀察當某種類型的所有行動綁定到集合,排隊與否還是已經完成。
def.always(al,[al]):篩選器和/或鏈Deferreds的實用程序方法。
def.notify(args):調用一個給定args的遞延對象上的進行中的回調 (progressCallbacks)。
def.notifyWith(c,[a]):去掉字符串起始和結尾的空格。
def.progress(proCal):當Deferred對象時生成進度通知時添加被訪問處理程序。
def.state():確定一個Deferred對象的當前狀態。
deferred.state()方法返回一個字符串,代表Deferred對象的當前狀態。 Deferred對象可以在三種狀態之一:
pending: Deferred對象是尚未完成狀態 (不是 “rejected” 或 “resolved”).
resolved: Deferred對象是在解決狀態,這意味着,deferred.resolve() 或者 deferred.resolveWith()被對象訪問和doneCallbacks被訪問(或在被調用的過程中) 。
rejected: Deferred對象是在被拒絕的狀態,這意味着,deferred.reject() 或者 deferred.rejectWith() 被對象訪問和failCallbacks被訪問(或在被調用的過程中) 。
這種方法主要是有用的調試,以確定的,例如,遞延是否已經得到解決,即使你打算拒絕它的內部代碼。