jQuery学习笔记(5)-事件与事件对象
一、前言
主要讲解事件的绑定与触发
二、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()的反向操作,从每一个匹配的元素中删除绑定的事件 |
三、常用事件函数
注意方法签名上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>
使用和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)-事件与事件对象的更多相关文章
- jQuery 学习笔记(三)——事件与应用
页面载入时触发ready()事件 ready()事件类似于onLoad()事件.但前者仅仅要页面的DOM结构载入后便触发.而后者必须在页面所有元素载入成功才触发,ready()能够写多个,按顺序运行. ...
- jQuery学习笔记之DOM操作、事件绑定(2)
jQuery学习笔记之DOM操作.事件绑定(2) --------------------学习目录------------------------ 4.DOM操作 5.事件绑定 源码地址: https ...
- jQuery 学习笔记
jQuery 学习笔记 一.jQuery概述 宗旨: Write Less, Do More. 基础知识: 1.符号$代替document.getElementById( ...
- jQuery学习笔记(一):入门
jQuery学习笔记(一):入门 一.JQuery是什么 JQuery是什么?始终是萦绕在我心中的一个问题: 借鉴网上同学们的总结,可以从以下几个方面观察. 不使用JQuery时获取DOM文本的操 ...
- jQuery学习笔记 - 基础知识扫盲入门篇
jQuery学习笔记 - 基础知识扫盲入门篇 2013-06-16 18:42 by 全新时代, 11 阅读, 0 评论, 收藏, 编辑 1.为什么要使用jQuery? 提供了强大的功能函数解决浏览器 ...
- jQuery学习笔记之Ajax用法详解
这篇文章主要介绍了jQuery学习笔记之Ajax用法,结合实例形式较为详细的分析总结了jQuery中ajax的相关使用技巧,包括ajax请求.载入.处理.传递等,需要的朋友可以参考下 本文实例讲述了j ...
- jQuery学习笔记之插件开发(4)
jQuery学习笔记之插件开发(4) github源码地址 插件:了让原有功能的增强. 1.插件的种类(3种):局部.全局.选择器插件 1.1封装对象方法的插件 这种类型的插件是把一些常用或者重复使用 ...
- jQuery学习笔记之概念(1)
jQuery学习笔记之概念(1) ----------------------学习目录-------------------- 1.概念 2.特点 3.选择器 4.DOM操作 5.事件 6.jQuer ...
- jQuery学习笔记Fisrt Day
跳过JS直接JQUERY,“不愧是你”. 对就是我. 今天开始jQuery学习第一天. click事件方法: 鼠标点击 dbl事件方法: 双击鼠标 mouseenter事件方法: 鼠标进入 mouse ...
- jQuery学习笔记(一)jQuery选择器
目录 jQuery选择器的优点 基本选择器 层次选择器 过滤选择器 表单选择器 第一次写博客,希望自己能够长期坚持,以写博客的方式作为总结与复习. 最近一段时间开始学习jQuery,通过写一个jQue ...
随机推荐
- P1547 Out of Hay 洛谷
https://www.luogu.org/problem/show?pid=1547 题目背景 奶牛爱干草 题目描述 Bessie 计划调查N (2 <= N <= 2,000)个农场的 ...
- 将mysql数据库数据导出为.sql文件
打开Navicat ,在我们要到处的数据上面右击鼠标,然后弹出的快捷菜单上点击“转储SQL 文件”,在再次弹出的子菜单项中选择第一个“数据跟结构”.
- Linux纯Shell实现DNSPod动态域名
http://www.anrip.com/post/872 开发背景: 公司有台嵌入式拨号上网设备,内置busybox和完整wget命令(支持https协议),但没有curl.python.ruby. ...
- CentOS command
管理centos服务器的时候常会对文件进行一些常规操作,除了ftp之外了解在ssh下必要的文件操作命令那也是必不可少的,以下摘录一些常用的文件操作命令: 文件操作: ls ####查看目录中的文件## ...
- Android 5.1 Settings源代码简要分析
转载请注明出处,谢谢~http://blog.csdn.net/u011974987/article/details/51004854. 概述: 先声明:本人工作快两年了,仍是菜鸟级别的.羞愧啊!曾经 ...
- HDOJ 5387 Clock 水+模拟
Clock Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total Subm ...
- MVC 用户权限HttpContext.User.IsInRole()
这几天在用MVC做一个项目,用到了HttpContext.User.IsInRole() 这个方法,但是每次当我用的时候,HttpContext.User.IsInRole(“Admin”) 返回的永 ...
- leetcode第一刷_Search in Rotated Sorted Array
旋转数组的查找问题.从头開始扫一遍.O(N)的复杂度,一般也能过,甚至先排序下面,再二分都能过.只是这道题的目的当然不在于此. 想一下旋转之后对我们的查找产生了什么影响.假设没旋转过,我们直接比較ta ...
- gitlab的安装和配置
1 使用omnibus gitlab来安装gitlab 也就是说,将gitlab和它所需要的组件打一个包,即打一个bundle进行安装. 第一步,安装gitlab的源. curl https://pa ...
- XMU 1125 越野车大赛 【三分】
1125: 越野车大赛 Time Limit: 500 MS Memory Limit: 64 MB Special JudgeSubmit: 8 Solved: 4[Submit][Statu ...