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版)(中文版)笔记
随机推荐
- 如何一步一步用DDD设计一个电商网站(四)—— 把商品卖给用户
阅读目录 前言 怎么卖 领域服务的使用 回到现实 结语 一.前言 上篇中我们讲述了“把商品卖给用户”中的商品和用户的初步设计.现在把剩余的“卖”这个动作给做了.这里提醒一下,正常情况下,我们的每一步业 ...
- 加深一下BlockingQueue的认识
认识BlockingQueue BlockingQueue是一种可以阻塞线程的队列,java中对这种队列提供了方法抽象,BlockingQueue则是抽象的接口. add:添加元素到队列里,添加成功返 ...
- 简约之美Jodd-http--深入源码理解http协议
Jodd 是一个开源的 Java 工具集, 包含一些实用的工具类和小型框架.简单,却很强大! jodd-http是一个轻巧的HTTP客户端.现在我们以一个简单的示例从源码层看看是如何实现的? Http ...
- python enumerate 用法
A new built-in function, enumerate() , will make certain loops a bit clearer. enumerate(thing) , whe ...
- Android的Kotlin秘方(II):RecyclerView 和 DiffUtil
作者:Antonio Leiva 时间:Sep 12, 2016 原文链接:http://antonioleiva.com/recyclerview-diffutil-kotlin/ 如你所知,在[支 ...
- ionic第二坑——ionic 上拉菜单(ActionSheet)安卓样式坑
闲话不说,先上图: 这是IOS上的显示效果,代码如下: HTML部分: <body ng-app="starter" ng-controller="actionsh ...
- docker – 你应该知道的10件事
容器并不是一个全新的技术,但这并不妨碍Docker如风暴一样席卷整个世界. 如果你在IT圈里,你一定听说过Docker.就算与其他热门技术,如:Puppet/Chef,Hadoop或者MongoD ...
- Dancing Links and Exact Cover
1. Exact Cover Problem DLX是用来解决精确覆盖问题行之有效的算法. 在讲解DLX之前,我们先了解一下什么是精确覆盖问题(Exact Cover Problem)? 1.1 Po ...
- Xamarin.Android-捕获未处理异常(全局异常)
一.前言 android中如果出现了未处理的异常,程序会闪退,这是非常不好的用户体验,很多用户会因此卸载APP,因此未处理的异常是应该尽力避免的. 有些很难避免的异常(如:IO.网络等),应在代码中进 ...
- C#高级知识点&(ABP框架理论学习高级篇)——白金版
前言摘要 很早以前就有要写ABP高级系列教程的计划了,但是迟迟到现在这个高级理论系列才和大家见面.其实这篇博客很早就着手写了,只是楼主一直写写停停.看看下图,就知道这篇博客的生产日期了,谁知它的出厂日 ...