jQuery學(xué)習(xí)大總結(jié)(四)jQuery事件
前三篇總結(jié)了jQuery的一些基礎(chǔ),有jQuery對象的介紹、jQuery操作css樣式和jQuery操作元素。今天總結(jié)一下jQuery事件,這是比較重要的一塊,希望本次總結(jié)能幫助到很多同我一樣的新手。
首先,我們來看一個有用的實(shí)例,來加深以前所掌握的知識,其中有些是在前邊出現(xiàn)過的。
- <img id="imgGoogle" src="http://www.google.com.hk/intl/zh-CN/images/logo_cn.png" alt="google.com" />
 - <input type="button" id="btnHide" value="隱藏圖片" />
 
- jQuery(document).ready(function() {
 - jQuery("#btnHide").click(function() {
 - jQuery("#imgGoogle").hide("1000");
 - });
 - });
 
當(dāng)點(diǎn)擊隱藏圖片時,google的logo圖片將在一秒鐘進(jìn)行隱藏。這里我們用到了hide()方法,當(dāng)然也可不指定時間,如果要顯示圖片的話應(yīng)該使用show()方法,感覺是不是很棒。
現(xiàn)在開始本篇的主要內(nèi)容:事件。大家可能已經(jīng)注意到了,上邊已經(jīng)在多處用到了事件。其中,document.ready就是一個事件,當(dāng)文檔準(zhǔn)備好了,它告訴jQuery可以執(zhí)行事件了,鼠標(biāo)移動、點(diǎn)擊、文本框焦點(diǎn)離開等都是事件。
在過去,我們經(jīng)常看到:
- <div onclick="alert('租房貴');" id="divRent">在北京</div>
 
這種寫法。從現(xiàn)在開始,大家應(yīng)該拋棄這種寫法。實(shí)現(xiàn)js代碼和html的分離,這樣頁面整潔了,效率也會更高?,F(xiàn)在的寫法,將會變成:
- jQuery("#divRent").click(function() {
 - alert("租房貴");
 - });
 
既然是總結(jié),我還是像前三篇那樣,用實(shí)例來記錄盡可能多的事件方法,方便大家在需要的時候查閱。
以下是自己在學(xué)習(xí)過程中遇到的:
1、one()事件,綁定要執(zhí)行一次的事件
- <div id="divRent">人在北京</div>
 
- jQuery("#divRent").one("click", function() {
 - alert("租房貴");
 - });
 
以上綁定一次單擊事件,第二次點(diǎn)擊時,不會再彈出提示。
2、focus()和blur()事件
- <input id="tTest" type="text" />
 
- jQuery("#tTest").focus(function() {
 - jQuery(this).css("background", "yellow");
 - }).blur(function() {
 - jQuery(this).css("background", "white");
 - });
 
此例實(shí)用到了鏈?zhǔn)綄懛ǎ嘈挪浑y理解。如果對jQuery操作css樣式不熟悉,可以看看第二篇總結(jié)。此例當(dāng)焦點(diǎn)聚焦在本文框時,背景色變?yōu)辄S色,離開時又變回白色。這樣做的目的,可以提高用戶體驗,我個人感覺。
3、keydown()和keyup()事件
- <input type="text" id="tTest" />
 - <label id="lResult"></label>
 
- jQuery("#tTest").keyup(function() {
 - jQuery("#lResult").html(jQuery(this).val());
 - });
 
當(dāng)鍵彈起時(這里感覺不好表達(dá)^_^),在label中將會顯示文本框中的內(nèi)容。操作元素屬性部分可以看看第三篇總結(jié)。
4、submit()事件
- <form id="form2" runat="server">
 - <input id="text" type="text" />
 - <asp:button id="btnTest" onclick="btnTest_Click" runat="server" text="測試">
 - </asp:button>
 - </form>
 
- jQuery("#form1").submit(function() {
 - if (jQuery.trim(jQuery("#text").val()).length == 0) {
 - return false;
 - }
 - });
 
可以看出,本實(shí)例使用了服務(wù)器控件。實(shí)質(zhì)上是一樣的,最終會進(jìn)行表單提交。點(diǎn)擊按鈕時,進(jìn)行表單提交。如果文本框內(nèi)容為空時,返回false,從而不進(jìn)行提交;否則,進(jìn)行提交。此類應(yīng)用在web開發(fā)中隨處可見。
5、hover()事件
- <div id="divHover">hover me</div>
 
- jQuery("#divHover").hover(function() {
 - jQuery(this).css("background", "yellow");
 - }, function() {
 - jQuery(this).css("background", "red");
 - });
 
鼠標(biāo)移動到div上時,div背景色變成黃色,移出背景色變成紅色。
以上幾種事件是比較常見的,也是用的比較多的。當(dāng)然本篇總結(jié)的只是一小部分,學(xué)習(xí)中遇到問題還得用jQuery文檔進(jìn)行查閱。















 
 
 
 
 
 
 