一、前言

主要讲解事件的绑定与触发

二、jQuery中添加事件

1.使用bind()方法绑定事件

<input id="btn" type="button" value="按钮" />
<script>
$("#btn").bind("click", function (event) { alert("one"); });
</script>

2.添加多播事件委托

<input id="btn" type="button" value="按钮" />
<script>
$("#btn").bind("click", function (event) { alert("one"); });
$("#btn").bind("click", function (event) { alert("two"); });
</script>

3.jQuery事件处理函数

$("p").bind("click", function () { alert($(this).text()); }); 为匹配元素的特定事件(像click)绑定一个事件处理器函数
$("p").one("click", function () { alert($(this).text()); }); 为匹配元素的特定事件(像click)绑定一个一次性的事件处理函数
trigger( event, [data] ) 匹配的元素上触发某类事件
triggerHandler( event, [data] ) 触发指定的事件类型上所有绑定的处理函数
$("p").unbind( "click" ); bind()的反向操作,从每一个匹配的元素中删除绑定的事件

三、常用事件函数

1.bind( type, [data], fn )

注意方法签名上data参数,可以在事件处理之前传递一些附加的数据

(1)使用自定义元素属性存储数据

<div id="divMsg" contentType ="Children">这是小孩可以看的内容</div>
<script>
$("#divMsg").bind("click", function(event) { alert($(event.target).attr("contentType")); });
</script>

(2)使用脚本将数据传递给事件处理函数

<div id="divMsg">这是小孩可以看的内容</div>
<script>
$("#divMsg").bind("click", { contentType: "Children" }, function (event) { alert(event.data.contentType); });
</script>

2.one( type, [data], fn )

使用和bind()函数一样,但是只执行一次

trigger( event, [data] ) triggerHandler( event, [data] )
<button id="old">.trigger("focus")</button>
<button id="new">.triggerHandler("focus")</button><br />
<br />
<input type="text" value="To Be Focused" />
<div id="divResult"></div>
<script>
$(function () {
$("#old").click(function () {
//点击文本框会聚焦
$("input").trigger("focus");
});
$("#new").click(function () {
//点击文本宽不会聚焦
$("input").triggerHandler("focus");
});
});
</script>

四、快捷事件 Event Helpers

1.设置单击事件方式:

$("p").click(function (event) { alert("aa"); });
//等效于下面写法
$("p").bind("click", function (event) { alert("aa"); });

2.触发单击事件

$("p").click();
//等效于下面写法
$("p").trigger("click");

3.jQuery的快捷方法列表

blur( fn )/blur( ) 当元素失去焦点时发生 blur 事件
change( fn )/change( ) 当元素的值改变时发生 change 事件
click( fn )/click( ) 当单击元素时,发生 click 事件
dblclick( fn )/dblclick( ) 当双击元素时,发生 dblclick 事件
error( fn )/error( ) 当元素遇到错误时,发生 error 事件
focus( fn )/focus( ) 当元素获得焦点时,发生 focus 事件
keydown( fn )/keydown( ) 当键盘键被按下时发生 keydown 事件
keypress( fn )/keypress( ) 当键盘键被按下时发生 keydown 事件
keyup( fn )/keyup( ) 当键盘键被松开时发生 keyup 事件
load( fn ) 当指定的元素已加载时,会发生 load 事件
mousedown( fn ) 当鼠标指针移动到元素上方,并按下鼠标左键时,会发生 mousedown 事件
mouseenter( fn ) 当鼠标指针穿过(进入)被选元素时,会发生 mouseenter 事件
mouseleave( fn ) 当鼠标指针离开被选元素时,会发生 mouseleave 事件
mousemove( fn ) 当鼠标指针在指定的元素中移动时,就会发生 mousemove 事件
mouseout( fn ) 当鼠标指针离开被选元素时,会发生 mouseout 事件
mouseover( fn ) 当鼠标指针位于元素上方时,会发生 mouseover 事件
mouseup( fn ) 当鼠标指针移动到元素上方,并松开鼠标左键时,会发生 mouseup 事件
resize( fn ) 当调整浏览器窗口大小时,发生 resize 事件
scroll( fn ) 当用户滚动指定的元素时,会发生 scroll 事件
select( fn )/select( ) 当 textarea 或文本类型的 input 元素中的文本被选择(标记)时,会发生 select 事件
submit( fn )/submit( ) 当提交表单时,会发生 submit 事件
unload( fn ) 当用户离开页面时,会发生 unload 事件

五、参考文章

http://www.cnblogs.com/zhangziqiu/archive/2009/05/06/jQuery-Learn-5.html

jQuery学习笔记(5)-事件与事件对象的更多相关文章

  1. jQuery 学习笔记(三)——事件与应用

    页面载入时触发ready()事件 ready()事件类似于onLoad()事件.但前者仅仅要页面的DOM结构载入后便触发.而后者必须在页面所有元素载入成功才触发,ready()能够写多个,按顺序运行. ...

  2. jQuery学习笔记之DOM操作、事件绑定(2)

    jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...

  3. jQuery 学习笔记

    jQuery 学习笔记   一.jQuery概述    宗旨: Write Less, Do More.    基础知识:        1.符号$代替document.getElementById( ...

  4. jQuery学习笔记(一):入门

      jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...

  5. jQuery学习笔记 - 基础知识扫盲入门篇

    jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...

  6. jQuery学习笔记之Ajax用法详解

    这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...

  7. jQuery学习笔记之插件开发(4)

    jQuery学习笔记之插件开发(4) github源码地址 插件:了让原有功能的增强. 1.插件的种类(3种):局部.全局.选择器插件 1.1封装对象方法的插件 这种类型的插件是把一些常用或者重复使用 ...

  8. jQuery学习笔记之概念(1)

    jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...

  9. jQuery学习笔记Fisrt Day

    跳过JS直接JQUERY,“不愧是你”. 对就是我. 今天开始jQuery学习第一天. click事件方法: 鼠标点击 dbl事件方法: 双击鼠标 mouseenter事件方法: 鼠标进入 mouse ...

  10. jQuery学习笔记(一)jQuery选择器

    目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...

随机推荐

  1. Critical Links-UVa796(无向图求桥)

    https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem& ...

  2. CODEVS——T 3736 【HR】万花丛中2

    http://codevs.cn/problem/3736/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解       题目描述 Description ...

  3. 使用maven时,如何修改JVM的配置参数;maven命令执行时到底消耗多少内存?

    maven是使用java启动的,因此依赖JVM,那么如何修改JVM参数? MAVEN_OPTS 在系统的环境变量中,设置MAVEN_OPTS,用以存放JVM的参数,具体设置的步骤,参数示例如下: MA ...

  4. 剑指Offer - 两个链表第一个公共节点

    https://www.nowcoder.com/practice/6ab1d9a29e88450685099d45c9e31e46?tpId=13&tqId=11189&tPage= ...

  5. android中单元測试中的断言assert的使用与扩展

    首先看一组对照,比方说我们要測试的结果是一个Linearlaout AssertJ Android: assertThat(layout).isVisible() .isVertical() .has ...

  6. distcp导致个别datanode节点数据存储严重不均衡分析

    hadoop2.4生产集群已经执行一段时间了.因为大量的hadoop1.0上面的应用不断迁移过来.刚開始事hdfs这边还没有出现多少问题.随着时间的推移,近期发现个别的datanode节点上面的磁盘空 ...

  7. Java VS .NET:Java与.NET的特点对比 单点登录(SSO)的设计

    一.前言 为什么要写Java跟.NET对比? .NET出生之后就带着Java的影子.从模仿到创新,.NET平台也越来越成熟.他们不同的支持者也经常因为孰弱孰强的问题争论不休.但是本文并不是为了一分高下 ...

  8. Java对话框总结

    总结起来非常easy: 1,对话框类型:消息.确认,选项.输入 2,选择图标:错误,信息.警告.问题,无或者自己定义 3,选择消息:字符串,图标.自己定义组件或者他们的集合 4.对于确认对话框,选择选 ...

  9. 制作NGUI动态字体

    在ngui中有两种制做字体的方式.一种是bmfont等工具制作字体图集的方法,这样的方法呢是动态的.生成的图集有多个字就是多少个字,要多加一 个字要又一次用工具做一次,非常是麻烦. 而汉字有太多,我们 ...

  10. centos内核编译配置

    1.下载内核,下面是内核官网地址:https://www.kernel.org/ tar.xz    是完整的内核包(完整的内核包是通过两次压缩得到的.一次是xz,一次是tar) pgp      是 ...