JavaScript权威设计--事件处理介绍(简要学习笔记十七)
- 事件类型:一个用来说明发生什么类型事件的字符串
- 事件目标:是发生的事件或与之相关的对象。
- 事件处理程序(事件监听程序):是处理货响应事件的函数。
- 事件对象:是与特定事件相关并且包含有关该事件详细信息的对象。
- 事件传播:是浏览器决定哪个对象触发其事件处理程序的过程。
- 事件捕获:在容器元素上注册的特定处理程序有机会再事件传播打破真实目标之前拦截它。
- 阻止标签默认事件的发生
- focus,blur不冒泡。focusin,focusout冒泡。
- load当文档和其他所有外部资源(图片)完全加载并显示给用户时就会触发。
- unload事件与load相对。当用户离开当前文档转向其他文档时触发它。
- beforeunload事件类似unload,确认是否确定离开当前页面。
- onabort图像加载被中断时调用,只支持img
- resize在调整浏览器窗口的时候调用
- scroll滚动滚轮的时候调用
- 鼠标在窗口中的位置:clientX,clientY
- button和which指定按下的鼠标键是哪个。
- 当键盘辅助键按下时,对应的属性altkey,ctrlKey,metaKey,shiftkey会设置为true。
- 对于click事件,detail属性指定了其是单击,双击还是三击。
- contextmenu事件通常在右键单击出菜单之前发生,取消这个事件就可以阻止菜单的显示。
- 对于mouseover和mouseout事件,事件对象有relatedTarget属性说明这个过程设计的其他元素。
- mouseover和mouseout事件会冒泡,IE提供了不冒泡版本,mouseenter和mouseleave。
- mousewheel事件使用在鼠标滚轮,传递的事件对象属性指定滚轮转动的大小和方向。
- 传递给键盘事件处理的事件对象有keyCode,它指定按下或释放的键是哪个。
- altkey,ctrlKey,metaKey,shiftkey用来描述辅助键的状态。
- keydown和keyup是低级键盘事件。当keydown事件产生可打印字符时,在这两个之间会触发keypress事件。
- 该事件对象指定产生的字符而不是按下的键。
- DOM3规定用textinput事件来代替keypress。该事件对象的属性是data。
//设置window对象的onload属性为事件处理程序
window.onload=function(){ }
<button onclick="alert('I am here!')"></button>


- Window对象
- Document对象
- 和所有文档元素
<div id="no">点击这里</div>
var no=document.getElementById("no");
no.addEventListener("click",function(){alert("I am here!")},false);
与其对应的是:removeEventListener




- 返回值为false就是告诉浏览器不要执行这个事件相关的默认操作。
- 如:表单提交按钮的onclick事件返回false能阻止浏览器提交表单。
- 理解事件处理程序的返回值只对通过属性注册的处理程序才有意思这非常重要。
- 而使用addEventListener等事件注册的必须调用preventDefault()方法或者设置事件对象的returnValue属性。
on() 方法在被选元素及子元素上添加一个或多个事件处理程序。
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。该方法给 API 带来很多便利,我们推荐使用该方法,它简化了 jQuery 代码库。
注意:使用 on() 方法添加的事件处理程序适用于当前及未来的元素(比如由脚本创建的新元素)。
提示:如需移除事件处理程序,请使用 off() 方法。
提示:如需添加只运行一次的事件然后移除,请使用 one() 方法


JavaScript权威设计--事件处理介绍(简要学习笔记十七)的更多相关文章
- JavaScript权威设计--Window对象(简要学习笔记十三)
1.Window对象是所有客户端JavaScript特性和API的主要接入点. Window对象中的一个重要属性是document,它引用Document对象. JavaScript程序可以通过Doc ...
- javascript权威指南第6版学习笔记
javascript权威指南第6版学习笔记 javascript数组.函数是特殊对象 看一点少一点. 3.1.4 hello.js内容是 var x=.3-.2;var y=.2-.1 console ...
- JavaScript权威设计--JavaScript表达式与运算符,语句(简要学习笔记六)
1.delete是一元操作符,用来删除对象属性或者元素. var a={ x:1, y:2 } delete a.x; //删除x属性 “x”in a //false:a对象中已经不存在x属性 ale ...
- 《Javascript权威指南》13号学习笔记:使用日期和时间
一.创Date示例 1.Date类的方法和属性是非常不静,故,申请书Date属性和方法之前.必须创建Date类的实例. var date = new Date(); //以当前日期和时间创建实例. ...
- 《Javascript权威指南》十六学习笔记:BOM资源---BOM基本应用
BOM基本应用包括:管理浏览器历史记录.得到处理和解决浏览器的信息.本文介绍了这些应用程序. 一.浏览历史管理 1.history对象的方法和属性 History 对象包括用户(在浏览器窗体中)訪问过 ...
- JavaScript权威设计--JavaScript函数(简要学习笔记十一)
1.函数调用的四种方式 第三种:构造函数调用 如果构造函数调用在圆括号内包含一组实参列表,先计算这些实参表达式,然后传入函数内.这和函数调用和方法调用是一致的.但如果构造函数没有形参,JavaScri ...
- JavaScript权威设计--JavaScript函数(简要学习笔记十)
1.函数命名规范 函数命名通常以动词为前缀的词组.通常第一个字符小写.当包含多个单词时,一种约定是将单词以下划线分割,就像"like_Zqz()". 还有一种就是"lik ...
- SQLite介绍、学习笔记、性能测试
SQLite介绍.学习笔记.性能测试 哪些人,哪些公司或软件在用SQLite: Nokia's Symbian,Mozilla,Abobe,Google,阿里旺旺,飞信,Chrome,FireFox可 ...
- JavaScript权威指南(第6版)(中文版)笔记
JavaScript权威指南(第6版)(中文版)笔记
随机推荐
- 匹夫细说C#:庖丁解牛迭代器,那些藏在幕后的秘密
0x00 前言 在匹夫的上一篇文章<匹夫细说C#:不是“栈类型”的值类型,从生命周期聊存储位置>的最后,匹夫以总结和后记的方式涉及到一部分迭代器的知识.但是觉得还是不够过瘾,很多需要说清楚 ...
- AngularJs之九(ending......)
今天继续angularJs,但也是最后一篇关于它的了,基础部分差不多也就这些,后续有机会再写它的提升部分. 今天要写的也是一个基础的选择列表: 一:使用ng-options,数组进行循环. <d ...
- PHP-解析验证码类--学习笔记
1.开始 在 网上看到使用PHP写的ValidateCode生成验证码码类,感觉不错,特拿来分析学习一下. 2.类图 3.验证码类部分代码 3.1 定义变量 //随机因子 private $char ...
- 创建 OVS Local Network - 每天5分钟玩转 OpenStack(129)
上一节我们完成了 OVS 的准备工作,本节从最基础的 local network 开始学习.local network 不会与宿主机的任何物理网卡连接,流量只被限制在宿主机内,同时也不关联任何的 VL ...
- pt-ioprofile
pt-ioprofile是用来观察特定进程的IO信息的. 该脚本是用shell写的,有两方面的作用: pt-ioprofile does two things: ) ) is not performe ...
- web服务器集群
概述 集群和分布式都是从集中式进化而来的.分布式和集群会相互合作的,同时的集群和分布式.在这里重点说说集群 集群是什么? 集群能提高单位时间内处理的任务数量,提升服务器性能 有多台服务器去处理任务,但 ...
- AFNetworking图片上传
//上传图片 -(void)upLoadImage:(UIImage *)upImage { //创建管理 AFHTTPRequestOperationManager *manager = [AFHT ...
- [BOT]自己动手实现android 饼状图,PieGraphView,附源码解析
本文要介绍的是一个参照手机支付宝app里面记账本功能里的"饼状图"实现的控件.通常app中可能的数据展示控件有柱状图,折线图,饼状图等,如果需要一个包含多种View控件的库,那么 ...
- 【腾讯Bugly干货分享】动态链接库加载原理及HotFix方案介绍
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57bec216d81f2415515d3e9c 作者:陈昱全 引言 随着项目中动 ...
- clang_intprt_t类型探究
作者:玄魂工作室-钱海龙 问题 这篇手把手教你构建 C 语言编译器,里面有着这样的代码 void eval() { int op, *tmp; while (1) { if (op == IMM) { ...