js-权威指南学习笔记17
第十七章 事件处理
1、事件处理程序或事件监听程序是处理或响应事件的函数。
2、事件对象是与特定事件相关且包含有关该事件详细信息的对象。
3、响应通过键盘改变焦点的表单元素在得到和失去焦点时会分别出发focus和blur事件。
4、focus和blur事件不会冒泡,但其他所有表单事件都可以。IE定义了focusin和focusout事件可以冒泡。
5、DOMContentLoaded和readystatechange是load事件的替代方案,当文档和其元素为操作就绪,但外部资源完全加载完毕之前,浏览器就会尽早触发它们。
6、单击鼠标右键时,浏览器通常会显示上下文菜单。在显示菜单之前,它们通常会出发contextmenu事件,而取消这个事件就可以阻止菜单的显示。
7、mouseover和mouseout事件会冒泡,而IE提供的mouseenter和mouseleave不会冒泡。
8、当keydown事件产生可打印字符时,在keydown和keyup之间会出发另外一个keypress事件。当按下键重复产生字符时,在keyup事件之前可能产生很多keypress事件。keypress是较高级的文本事件,其事件对象指定产生的字符而非按下的键。
9、HTML5包含了对离线Web应用的支持。相关的两个最重要事件是offline和online,无论何时浏览器失去获得到网络连接时都会在Window对象上出发它们。
10、注册事件处理程序最简单的方式就是通过设置事件目标的属性为所需事件处理程序函数。缺点是每个事件目标对于每种事件类型最多只能有一个处理程序。
11、在HTML标签中设置事件处理程序不应该用大括号包围且不用function关键字。避免使用。
12、addEventListener()方法最后一个参数是一个布尔值,通常传入false,如果传入true,那么函数将注册为捕获事件处理程序。
13、IE中使用attachEvent()注册的事件处理程序作为函数调用,它们的this值是全局对象。可用call()对this进行更改。
14、事件处理程序在定义时的作用域而非调用时的作用域中执行,并且它们能存取那个作用域中的任何一个本地变量。通过HTML属性来注册事件处理程序是一个例外,它们被转换为能存取全局变量的顶级函数而非任何本地变量。
15、通常情况下,返回值false就是告诉浏览器不要执行这个事件相关的默认操作。
16、事件处理程序的调用顺序:1、通过设置对象属性或者HTML属性注册的处理程序优先调用。2、使用addEventListener()注册的处理程序按照它们的注册顺序调用。3、attachEvent()可能按照任何顺序调用。
17、事件冒泡为在大量单独文档元素上注册处理程序提供了替代方案,即在共同的祖先元素上注册一个处理程序来处理所有的事件。(事件委托/事件代理)
18、发生在文档元素上的大部分事件都会冒泡,值得注意的例外是focus、blur、scroll事件。文档元素上的load事件会冒泡,但它会在Document对象上停止冒泡而不会传播到window对象,只有当整个文档都加载完毕时才会出发Window对象的load事件。
19、事件冒泡是事件传播的第三个阶段。目标对象本身的事件处理程序调用是第二个阶段。第一个阶段甚至发生在目标处理程序调用之前,成为捕获阶段。在目标对象本身上注册的捕获事件处理程序不会被调用。
20、阻止事件传播:stopPropagation()方法,IE事件对象有一个cancelBubble属性,设置为true能阻止事件进一步传播。
js-权威指南学习笔记17的更多相关文章
- js权威指南---学习笔记02
1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当 ...
- js权威指南学习笔记(四)对象
1.创建对象 (1).通过对象直接量的方式创建 说明:对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来. 如: 5 5 ...
- js权威指南学习笔记(三)语句
1.声明语句 如果用var声明的变量没有初始化,那么这个变量的值会被初始化为undefined. 函数声明语句的语法如下: 4 4 1 console.log(func ...
- js权威指南学习笔记(二)表达式与运算符
1.数组初始化表达式 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充undefined.如: 2 2 1 var arr = [1,,,,,6]; 2 ...
- js权威指南学习笔记(一)类型、值和变量
1.数据类型:原始类型(primitive type) 和对象类型(object type) 原始类型包括数字.字符串和布尔值: 除数字.字符串.布尔值.null(空).undefined(未定义), ...
- js权威指南---学习笔记01
1.当函数赋值给对象的属性时,就变为了方法:2.被零整除不报错,只会返回无穷大(Infinity)或者负无穷大.例外:零除以零等于非数字(NaN).3.NaN与任何值都不相等! 4.Javascrip ...
- JavaScript 权威指南-学习笔记(一)
本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...
- 《JS权威指南学习总结》
JS权威指南学习总结:http://www.cnblogs.com/ahthw/category/652668.html
- 《JS权威指南学习总结--开始简介》
本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...
- HTTP权威指南-学习笔记
目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...
随机推荐
- 全屏背景图的实现及background的相关属性
今天需要做一个占满设备宽度的轮播图,这里作为demo仅展示一张图,下面分别是要操作的图片(这里做了缩放处理,实际的图比较大),以及要实现的效果图,很明显两者是不成比例的: (图一) ...
- 使用openssh-clients的scp命令来传输文件
了解openssh-client是请参阅:https://blog.csdn.net/u010215256/article/details/53239905 了解scp命令来传输文件请参阅:https ...
- Django中涉及金融的项目
在Django中,如果一个项目涉及了金融,他的要求是十分严格的. 所以嘞,这里就有一些坑,很多坑,第一次开发的时候很容易出现一系列的错误 在涉及金融计算的地方,不能使用float类型 什么鬼,但事实就 ...
- CentOS7 配置 Redis Sentinel主从集群配置
Redis Sentinel主从集群 环境.准备 slave配置 sentinel配置 测试 C#连接Redis Sentinel 1.环境.准备 单实例3台CentOS7服务器,IP地址.: 192 ...
- Linux 上安装 Couchbase服务
down: http://www.couchbase.com/downloads/ doc: http://docs.couchbase.com/archive-index/ forums: htt ...
- 【数组】Search a 2D Matrix
题目: Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the f ...
- hexo上部署博客到Github失败
fatal: could not read Username for 'https://github.com': No error 今天在上传博客到搭建到 Github 的个人博客上的时候,已经使用 ...
- JAVA跨域资源访问CORSFilter
当一个资源从与该资源本身所在的服务器不同的域或端口不同的域或不同的端口请求一个资源时,资源会发起一个跨域 HTTP 请求. 出于安全考虑,浏览器会限制从脚本内发起的跨域HTTP请求.跨域资源共享机制允 ...
- Chrome插件下载地址
www.crx4chrome.com可以直接下载 Chrome Store 插件 在chrome web store好像只能安装插件.
- LR、HMM、CRF和MaxEnt区别
LR:Logistic 是 Softmax 的特殊形式,多以如果 Softmax 与 MaxEnt 是等价的,则 Logistic 与 MaxEnt 是等价的. HMM模型: 将标注看作马尔可夫链,一 ...