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