Latest web development tutorials

jQuery 事件

jQuery 是為事件處理特別設計的。


什麼是事件?

頁面對不同訪問者的響應叫做事件。

事件處理程序指的是當HTML 中發生某些事件時所調用的方法。

實例:

  • 在元素上移動鼠標。
  • 選取單選按鈕
  • 點擊元素

在事件中經常使用術語"觸發"(或"激發")例如: "當您按下按鍵時觸發keypress 事件"。

常見DOM 事件:

鼠标事件 键盘事件 表单事件 文档/窗口事件
click keypress submit load
dblclick keydown change resize
mouseenter keyup focus scroll
mouseleave blur unload  


jQuery 事件方法語法

在jQuery 中,大多數DOM 事件都有一個等效的jQuery 方法。

頁面中指定一個點擊事件:

$("p").click();

下一步是定義什麼時間觸發事件。 您可以通過一個事件函數實現:

$("p").click(function(){
// 動作觸發後執行的代碼!!
});


常用的jQuery 事件方法

$(document).ready()

$(document).ready() 方法允許我們在文檔完全加載完後執行函數。 該事件方法在jQuery語法章節中已經提到過。

click()

click() 方法是當按鈕點擊事件被觸發時會調用一個函數。

該函數在用戶點擊HTML 元素時執行。

在下面的實例中,當點擊事件在某個<p> 元素上觸發時,隱藏當前的<p> 元素:

實例

$("p").click(function(){
$(this).hide();
});

嘗試一下»

dblclick()

當雙擊元素時,會發生dblclick 事件。

dblclick() 方法觸發dblclick 事件,或規定當發生dblclick 事件時運行的函數:

實例

$("p").dblclick(function(){
$(this).hide();
});

嘗試一下»

mouseenter()

當鼠標指針穿過元素時,會發生mouseenter 事件。

mouseenter() 方法觸發mouseenter 事件,或規定當發生mouseenter 事件時運行的函數:

實例

$("#p1").mouseenter(function(){
alert("You entered p1!");
});

嘗試一下»

mouseleave()

當鼠標指針離開元素時,會發生mouseleave 事件。

mouseleave() 方法觸發mouseleave 事件,或規定當發生mouseleave 事件時運行的函數:

實例

$("#p1").mouseleave(function(){
alert("Bye! You now leave p1!");
});

嘗試一下»

mousedown()

當鼠標指針移動到元素上方,並按下鼠標按鍵時,會發生mousedown 事件。

mousedown() 方法觸發mousedown 事件,或規定當發生mousedown 事件時運行的函數:

實例

$("#p1").mousedown(function(){
alert("Mouse down over p1!");
});

嘗試一下»

mouseup()

當在元素上鬆開鼠標按鈕時,會發生mouseup 事件。

mouseup() 方法觸發mouseup 事件,或規定當發生mouseup 事件時運行的函數:

實例

$("#p1").mouseup(function(){
alert("Mouse up over p1!");
});

嘗試一下»

hover()

hover()方法用於模擬光標懸停事件。

當鼠標移動到元素上時,會觸髮指定的第一個函數(mouseenter);當鼠標移出這個元素時,會觸髮指定的第二個函數(mouseleave)。

實例

$("#p1").hover(function(){
alert("You entered p1!");
},
function(){
alert("Bye! You now leave p1!");
});

嘗試一下»

focus()

當元素獲得焦點時,發生focus 事件。

當通過鼠標點擊選中元素或通過tab 鍵定位到元素時,該元素就會獲得焦點。

focus() 方法觸發focus 事件,或規定當發生focus 事件時運行的函數:

實例

$("input").focus(function(){
$(this).css("background-color","#cccccc");
});

嘗試一下»

blur()

當元素失去焦點時,發生blur 事件。

blur() 方法觸發blur 事件,或規定當發生blur 事件時運行的函數:

實例

$("input").blur(function(){
$(this).css("background-color","#ffffff");
});

嘗試一下»