jQuery學習大總結(四)jQuery事件
前三篇總結了jQuery的一些基礎,有jQuery對象的介紹、jQuery操作css樣式和jQuery操作元素。今天總結一下jQuery事件,這是比較重要的一塊,希望本次總結能幫助到很多同我一樣的新手。
首先,我們來看一個有用的實例,來加深以前所掌握的知識,其中有些是在前邊出現過的。
- <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");
- });
- });
當點擊隱藏圖片時,google的logo圖片將在一秒鐘進行隱藏。這里我們用到了hide()方法,當然也可不指定時間,如果要顯示圖片的話應該使用show()方法,感覺是不是很棒。
現在開始本篇的主要內容:事件。大家可能已經注意到了,上邊已經在多處用到了事件。其中,document.ready就是一個事件,當文檔準備好了,它告訴jQuery可以執(zhí)行事件了,鼠標移動、點擊、文本框焦點離開等都是事件。
在過去,我們經??吹剑?/p>
- <div onclick="alert('租房貴');" id="divRent">在北京</div>
這種寫法。從現在開始,大家應該拋棄這種寫法。實現js代碼和html的分離,這樣頁面整潔了,效率也會更高?,F在的寫法,將會變成:
- jQuery("#divRent").click(function() {
- alert("租房貴");
- });
既然是總結,我還是像前三篇那樣,用實例來記錄盡可能多的事件方法,方便大家在需要的時候查閱。
以下是自己在學習過程中遇到的:
1、one()事件,綁定要執(zhí)行一次的事件
- <div id="divRent">人在北京</div>
- jQuery("#divRent").one("click", function() {
- alert("租房貴");
- });
以上綁定一次單擊事件,第二次點擊時,不會再彈出提示。
2、focus()和blur()事件
- <input id="tTest" type="text" />
- jQuery("#tTest").focus(function() {
- jQuery(this).css("background", "yellow");
- }).blur(function() {
- jQuery(this).css("background", "white");
- });
此例實用到了鏈式寫法,相信不難理解。如果對jQuery操作css樣式不熟悉,可以看看第二篇總結。此例當焦點聚焦在本文框時,背景色變?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());
- });
當鍵彈起時(這里感覺不好表達^_^),在label中將會顯示文本框中的內容。操作元素屬性部分可以看看第三篇總結。
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;
- }
- });
可以看出,本實例使用了服務器控件。實質上是一樣的,最終會進行表單提交。點擊按鈕時,進行表單提交。如果文本框內容為空時,返回false,從而不進行提交;否則,進行提交。此類應用在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");
- });
鼠標移動到div上時,div背景色變成黃色,移出背景色變成紅色。
以上幾種事件是比較常見的,也是用的比較多的。當然本篇總結的只是一小部分,學習中遇到問題還得用jQuery文檔進行查閱。