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可以执行事件了,鼠标移动、点击、文本框焦点离开等都是事件。

在过去,我们经常看到:

<div onclick="alert('租房贵');" id="divRent">在北京</div> 

这种写法。从现在开始,大家应该抛弃这种写法。实现js代码和html的分离,这样页面整洁了,效率也会更高。现在的写法,将会变成:

jQuery("#divRent").click(function() { 


    alert("租房贵"); 


}); 

既然是总结,我还是像前三篇那样,用实例来记录尽可能多的事件方法,方便大家在需要的时候查阅。

以下是自己在学习过程中遇到的:

1、one()事件,绑定要执行一次的事件

<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样式不熟悉,可以看看第二篇总结。此例当焦点聚焦在本文框时,背景色变为黄色,离开时又变回白色。这样做的目的,可以提高用户体验,我个人感觉。

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开发中随处可见。

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背景色变成黄色,移出背景色变成红色。

相关推荐