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++中的变长参数
新参与的项目中,为了使用共享内存和自定义内存池,我们自己定义了MemNew函数,且在函数内部对于非pod类型自动执行构造函数.在需要的地方调用自定义的MemNew函数.这样就带来一个问题,使用stl的 ...
- FREERTOS 手册阅读笔记
郑重声明,版权所有! 转载需说明. FREERTOS堆栈大小的单位是word,不是byte. 根据处理器架构优化系统的任务优先级不能超过32,If the architecture optimized ...
- [原创]mybatis中整合ehcache缓存框架的使用
mybatis整合ehcache缓存框架的使用 mybaits的二级缓存是mapper范围级别,除了在SqlMapConfig.xml设置二级缓存的总开关,还要在具体的mapper.xml中开启二级缓 ...
- 23种设计模式--代理模式-Proxy
一.代理模式的介绍 代理模式我们脑袋里出现第一个词语就是代购,其实就是这样通过一个中间层这个中间成是属于什么都干什么都买得,俗称"百晓生",在平时得开发中我们经常会听到 ...
- Lambda
Lambda Lambda 表达式是一种可用于创建委托或表达式目录树类型的匿名函数. 通过使用 lambda 表达式,可作为参数传递或作为函数调用值返回的本地函数. Lambda 表达式对于编写 LI ...
- ecshop验证码
<?php //仿制ecshop验证码(四位大写字母和数字.背景) //处理码值(四位大写字母和数字组成) //所有的可能的字符集合 $chars = 'ABCDEFGHIJKLMNOPQRST ...
- iOS 10 跳转系统设置
苦心人天不负, 为了项目终于把 iOS 10 跳转系统设置的方法给搞定了, 很欣慰. http://www.cnblogs.com/lurenq/p/6189580.html iOS 10 跳转系统设 ...
- win10系统下连接无线网络掉线问题解决办法
打开驱动精灵----系统诊断 找一个可修复的驱动点击 选择连不上网中的查看更多 有连不上网络,网络连接受限,解决无线间歇性掉网问题 进入计算机管理----设备管理 修改无线网络属性(名称含有wirel ...
- 第14章 Linux启动管理(2)_启动引导程序grub
2. 启动引导程序grub 2.1 Grub配置文件 (1)grub中分区的表示 硬盘 分区 Linux设备文件名 Grub中设备文件名 第1块SCSI硬盘 第1个主分区 /dev/sda1 hd(0 ...
- Egret3D 研究报告(一)初试
了解的朋友应该知道我最近一直都在鼓吹webgl. 今天有一点时间,加了一个Egret3D的群,就开始了这个坑. 耳听为虚,眼见为实.让我们荡起双桨,一起去刷一下egret 打开姿势 至于以什么姿势打开 ...