jQuery 是為事件處理特別設(shè)計(jì)的。
頁面對不同訪問者的響應(yīng)叫做事件。
事件處理程序指的是當(dāng) HTML 中發(fā)生某些事件時(shí)所調(diào)用的方法。
實(shí)例:
• 在元素上移動(dòng)鼠標(biāo)。
• 選取單選按鈕
• 點(diǎn)擊元素
在事件中經(jīng)常使用術(shù)語"觸發(fā)"(或"激發(fā)")例如: "當(dāng)您按下按鍵時(shí)觸發(fā) keypress 事件"。
常見 DOM 事件:
鼠標(biāo)事件 |
鍵盤事件 |
表單事件 |
文檔/窗口事件 |
---|---|---|---|
click |
keypress |
submit |
load |
dblclick |
keydown |
change |
resize |
mouseenter |
keyup |
focus |
scroll |
mouseleave |
blur |
unload |
|
hover |
jQuery 事件方法語法
在 jQuery 中,大多數(shù) DOM 事件都有一個(gè)等效的 jQuery 方法。
頁面中指定一個(gè)點(diǎn)擊事件:
$("p").click();
下一步是定義什么時(shí)間觸發(fā)事件。您可以通過一個(gè)事件函數(shù)實(shí)現(xiàn):
$("p").click(function(){
// 動(dòng)作觸發(fā)后執(zhí)行的代碼!!
});
常用的 jQuery 事件方法
$(document).ready() 方法允許我們在文檔完全加載完后執(zhí)行函數(shù)。該事件方法在 jQuery 語法 章節(jié)中已經(jīng)提到過。
click() 方法是當(dāng)按鈕點(diǎn)擊事件被觸發(fā)時(shí)會(huì)調(diào)用一個(gè)函數(shù)。
該函數(shù)在用戶點(diǎn)擊 HTML 元素時(shí)執(zhí)行。
在下面的實(shí)例中,當(dāng)點(diǎn)擊事件在某個(gè) <p>元素上觸發(fā)時(shí),隱藏當(dāng)前的 <p>元素:
$("p").click(function(){
$(this).hide();
});
③ dblclick()
當(dāng)雙擊元素時(shí),會(huì)發(fā)生 dblclick 事件。
dblclick() 方法觸發(fā) dblclick 事件,或規(guī)定當(dāng)發(fā)生 dblclick 事件時(shí)運(yùn)行的函數(shù):
$("p").dblclick(function(){
$(this).hide();
});
④ mouseenter()
當(dāng)鼠標(biāo)指針穿過元素時(shí),會(huì)發(fā)生 mouseenter 事件。
mouseenter() 方法觸發(fā) mouseenter 事件,或規(guī)定當(dāng)發(fā)生 mouseenter 事件時(shí)運(yùn)行的函數(shù):
$("#p1").mouseenter(function(){
alert('您的鼠標(biāo)移到了 id="p1" 的元素上!');
});
⑤ mouseleave()
當(dāng)鼠標(biāo)指針離開元素時(shí),會(huì)發(fā)生 mouseleave 事件。
mouseleave() 方法觸發(fā) mouseleave 事件,或規(guī)定當(dāng)發(fā)生 mouseleave 事件時(shí)運(yùn)行的函數(shù):
$("#p1").mouseleave(function(){
alert("再見,您的鼠標(biāo)離開了該段落。");
});
⑥ mousedown()
當(dāng)鼠標(biāo)指針移動(dòng)到元素上方,并按下鼠標(biāo)按鍵時(shí),會(huì)發(fā)生 mousedown 事件。
mousedown() 方法觸發(fā) mousedown 事件,或規(guī)定當(dāng)發(fā)生 mousedown 事件時(shí)運(yùn)行的函數(shù):
$("#p1").mousedown(function(){
alert("鼠標(biāo)在該段落上按下!");
});
⑦ mouseup()
當(dāng)在元素上松開鼠標(biāo)按鈕時(shí),會(huì)發(fā)生 mouseup 事件。
mouseup() 方法觸發(fā) mouseup 事件,或規(guī)定當(dāng)發(fā)生 mouseup 事件時(shí)運(yùn)行的函數(shù):
$("#p1").mouseup(function(){
alert("鼠標(biāo)在段落上松開。");
});
⑧ hover()
hover()方法用于模擬光標(biāo)懸停事件。
當(dāng)鼠標(biāo)移動(dòng)到元素上時(shí),會(huì)觸發(fā)指定的第一個(gè)函數(shù)(mouseenter);當(dāng)鼠標(biāo)移出這個(gè)元素時(shí),會(huì)觸發(fā)指定的第二個(gè)函數(shù)(mouseleave)。
$("#p1").hover(
function(){
alert("你進(jìn)入了 p1!");
},
function(){
alert("拜拜! 現(xiàn)在你離開了 p1!");
}
);
⑨ focus()
當(dāng)元素獲得焦點(diǎn)時(shí),發(fā)生 focus 事件。
當(dāng)通過鼠標(biāo)點(diǎn)擊選中元素或通過 tab 鍵定位到元素時(shí),該元素就會(huì)獲得焦點(diǎn)。
focus() 方法觸發(fā) focus 事件,或規(guī)定當(dāng)發(fā)生 focus 事件時(shí)運(yùn)行的函數(shù):
$("input").focus(function(){
$(this).css("background-color","#cccccc");
});
⑩ blur()
當(dāng)元素失去焦點(diǎn)時(shí),發(fā)生 blur 事件。
blur() 方法觸發(fā) blur 事件,或規(guī)定當(dāng)發(fā)生 blur 事件時(shí)運(yùn)行的函數(shù):
$("input").blur(function(){
$(this).css("background-color","#ffffff");
});