jQuery 事件方法

事件是Web應(yīng)用程序可以檢測到的操作。

jQuery提供了將事件處理程序附加到選擇的簡單方法。

發(fā)生事件時,將執(zhí)行提供的函數(shù)。

以下是示例事件:

  • 網(wǎng)頁加載

  • 點擊一個元素

  • 將鼠標(biāo)移到元素上

  • 提交HTML表格

  • 鍵盤上的按鍵等

事件方法的jQuery語法

在jQuery中,大多數(shù)DOM事件具有等效的jQuery方法。

要將點擊事件分配給頁面上的所有段落,請執(zhí)行以下操作:

$("p").click();

下一步是定義事件發(fā)生時應(yīng)發(fā)生的情況。您必須將一個函數(shù)傳遞給事件:

$("p").click(function(){
  // 需要執(zhí)行的動作...
  });

此示例在單擊頁面時隱藏頁面上的段落:

$("p").click(function(){
  $(this).hide();
});
測試看看?/?

本示例將一個“changeSize”函數(shù)附加到click事件:

$(document).ready(function(){
  $("p").click(changeSize);
});

function changeSize() {
  $(this).animate({fontSize: "+=5px"});
}
測試看看?/?

常用的jQuery事件方法

$(document).ready()

jQuery $(document).ready()方法指定在DOM完全加載時要執(zhí)行的函數(shù)。

以下示例在加載DOM時顯示一條消息:

$(document).ready(function(){
  $("p").text("現(xiàn)在已經(jīng)加載了DOM,可以對其進行操作.");
});
測試看看?/?

click()

jQuery click()方法將事件處理程序函數(shù)附加到所選元素。

當(dāng)用戶單擊該元素時,將執(zhí)行該函數(shù):

$("p").click(function(){
  $(this).css({"background-color":"#007FFF", "color":"white"});
});
測試看看?/?

mouseenter()

jQuery mouseenter()方法將事件處理程序函數(shù)附加到所選元素。

當(dāng)鼠標(biāo)指針進入該元素時,將執(zhí)行該函數(shù):

$("p").mouseenter(function(){
  $(this).css("background-color", "yellow");
});
測試看看?/?

mouseleave()

jQuery mouseleave()方法將事件處理程序函數(shù)附加到所選元素。

當(dāng)鼠標(biāo)指針離開該元素時,將執(zhí)行該函數(shù):

$("p").mouseleave(function(){
  $(this).css("background-color", "lightblue");
});
測試看看?/?

mousedown()

jQuery mousedown()方法將事件處理程序函數(shù)附加到所選元素。

當(dāng)用戶在元素上按下鼠標(biāo)按鈕時,將執(zhí)行該函數(shù):

$("p").mousedown(function(){
  $(this).after("<p style='color:red;'>按下鼠標(biāo)鍵</p>");
});
測試看看?/?

mouseup()

jQuery mouseup()方法將事件處理程序函數(shù)附加到所選元素。

當(dāng)鼠標(biāo)懸停在該元素上時,釋放鼠標(biāo)按鈕,將執(zhí)行該函數(shù):

$("p").mouseup(function(){
  $(this).after("<p style='color:green;'>釋放鼠標(biāo)鍵</p>");
});
測試看看?/?

keydown()

jQuery keydown()方法將事件處理程序函數(shù)附加到所選元素。

當(dāng)用戶按下鍵盤上的鍵時,將執(zhí)行該函數(shù):

$("input").keydown(function(event){
  $(this).css("background-color", "yellow");
  $("span").text(event.type);
});
測試看看?/?

keyup()

jQuery keyup()方法將事件處理程序函數(shù)附加到所選元素。

當(dāng)用戶釋放鍵盤上的鍵時,將執(zhí)行該函數(shù):

$("input").keyup(function(event){
  $(this).css("background-color", "lightblue");
  $("span").text(event.type);
});
測試看看?/?

hover()

jQuery hover()方法具有兩個函數(shù),并且是mouseenter()mouseleave()方法的組合。

下面的示例將鼠標(biāo)指針懸停在上方時更改所有<p>元素的背景顏色:

$("p").hover(function(){
  $(this).css("background-color", "yellow");
  }, function(){
  $(this).css("background-color", "lightblue");
});
測試看看?/?

on()方法

jQuery提供了on()一種方法來響應(yīng)所選元素上的任何事件。

使用on()方法,我們可以為所選元素附加一個或多個事件處理程序。

下面的示例將click事件附加到所有<p>元素:

$("p").on("click", function(){
  $(this).css("background-color", "coral");
});
測試看看?/?

下面的示例將mouseenter事件附加到所有<p>元素:

$("p").on("mouseenter", function(){
  $(this).css("background-color", "coral");
});
測試看看?/?

以下示例將多個事件處理程序附加到<div>元素:

$("div").on("mouseenter mouseleave click", function(){
  $(this).text(Math.random());
});
測試看看?/?

off()方法

jQuery off()  方法刪除該on()方法附帶的一個或多個事件處理程序。

下面的示例從<div>元素中刪除mousemove事件:

$("button").click(function(){
  $("div").off("mousemove");
});
測試看看?/?

事件對象

jQuery的事件系統(tǒng)根據(jù)W3C標(biāo)準(zhǔn)標(biāo)準(zhǔn)化事件對象。

確保將事件對象傳遞給事件處理程序。

每個事件處理函數(shù)都會接收一個事件對象,其中包含許多屬性和方法。

$("div").on("click", function(event){
  alert("Event type is " + event.type);
  alert("Target : " + event.target.innerHTML);
});
測試看看?/?

下表顯示了所有事件對象的方法和屬性:

方法/屬性描述
event.currentTarget事件冒泡階段中的當(dāng)前DOM元素
event.data包含綁定當(dāng)前執(zhí)行處理程序時傳遞給事件方法的可選數(shù)據(jù)
event.delegateTarget返回附加當(dāng)前調(diào)用的jQuery事件處理程序的元素
event.isDefaultPrevented()返回是否event.preventDefault()為事件對象調(diào)用
event.isImmediatePropagationStopped()返回是否event.stopImmediatePropagation()為事件對象調(diào)用
event.isPropagationStopped()返回是否event.stopPropagation()為事件對象調(diào)用
event.metakey表示事件觸發(fā)時是否按下了META鍵
event.namespace返回觸發(fā)事件時指定的名稱空間
event.pageX返回鼠標(biāo)相對于文檔左邊緣的位置
event.pageY返回相對于文檔頂部邊緣的鼠標(biāo)位置
event.preventDefault()阻止瀏覽器執(zhí)行所選元素的默認(rèn)操作
event.relatedTarget返回鼠標(biāo)移動時要輸入或退出的元素
event.result包含由指定事件觸發(fā)的事件處理程序返回的最后一個/上一個值
event.stopImmediatePropagation()防止其他事件處理程序被調(diào)用
event.stopPropagation()防止事件使DOM樹冒泡,防止任何父處理程序收到該事件的通知
event.target返回哪個DOM元素觸發(fā)了事件
event.timeStamp返回創(chuàng)建事件的時間(相對于紀(jì)元的毫秒數(shù))
event.type返回觸發(fā)了哪種事件類型
event.which返回事件按下的鍵盤鍵或鼠標(biāo)按鈕

jQuery事件參考

有關(guān)完整的事件參考,請訪問我們的jQuery Events 參考手冊。

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清