第十七章 事件处理

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的更多相关文章

  1. js权威指南---学习笔记02

    1.JS只有函数作用域,没有块级作用域这个概念: 它有一个特性——声明提前:在同一个函数中不同位置声明的变量,都被提前在函数开始的时候,执行声明操作:在原先位置执行赋值操作: 2.声明的全局变量,相当 ...

  2. js权威指南学习笔记(四)对象

    1.创建对象 (1).通过对象直接量的方式创建 说明:对象直接量是由若干名/值对组成的映射表,名/值对中间用冒号分隔,名/值对之间用逗号分隔,整个映射表用花括号括起来. 如:       5 5   ...

  3. js权威指南学习笔记(三)语句

    1.声明语句 如果用var声明的变量没有初始化,那么这个变量的值会被初始化为undefined. 函数声明语句的语法如下:       4 4           1 console.log(func ...

  4. js权威指南学习笔记(二)表达式与运算符

    1.数组初始化表达式 数组直接量中的列表逗号之间的元素可以省略,这时省略的空位会填充undefined.如:       2 2           1 var arr = [1,,,,,6]; 2 ...

  5. js权威指南学习笔记(一)类型、值和变量

    1.数据类型:原始类型(primitive type) 和对象类型(object type) 原始类型包括数字.字符串和布尔值: 除数字.字符串.布尔值.null(空).undefined(未定义), ...

  6. js权威指南---学习笔记01

    1.当函数赋值给对象的属性时,就变为了方法:2.被零整除不报错,只会返回无穷大(Infinity)或者负无穷大.例外:零除以零等于非数字(NaN).3.NaN与任何值都不相等! 4.Javascrip ...

  7. JavaScript 权威指南-学习笔记(一)

    本文所有教程及源码.软件仅为技术研究.不涉及计算机信息系统功能的删除.修改.增加.干扰,更不会影响计算机信息系统的正常运行.不得将代码用于非法用途,如侵立删! ## JavaScript 权威指南-学 ...

  8. 《JS权威指南学习总结》

    JS权威指南学习总结:http://www.cnblogs.com/ahthw/category/652668.html

  9. 《JS权威指南学习总结--开始简介》

    本书共分成了四大部分: 1.JS语言核心 2.客户端JS 3.JS核心参考 4.客户端JS核心参考 其中 <JS权威指南学习总结--1.1语法核心> 是:第一部分JS语言核心 各章节重点 ...

  10. HTTP权威指南-学习笔记

    目录 HTTP权威指南-学习笔记 HTTP: Web的基础 URL与资源 HTTP报文 连接管理 HTTP结构 Web服务器 代理 缓存 集成点: 网关,隧道及中继 Web机器人 识别,认证与安全 客 ...

随机推荐

  1. 不再需要ImageOle或DynamicGifCtl,.NET实现IM编辑控件

    多年前写过一篇文章<C# 实现IM聊天信息输入显示控件(1)-显示GIF动画图片>,主要是使用ActiveX控件实现RichTextBox插入gif动画图片,包括使用QQ的ImageOle ...

  2. python实战——网络爬虫

    学习网络爬虫的目的: 1,可以私人定制一个搜索引擎,可以深层次的了解搜索引擎的工作原理. 2,大数据时代,要进行数据分析,首先要有数据源,学习爬虫,可以让我们获取更多的数据. 3,从业人员可以可好的利 ...

  3. 3. Decision Tree

    1. 算法流程 一般的,一颗决策树包含一个根结点.若干内部结点和若干叶结点:叶节点对应于决策结果,其他每个结点则对应于一个属性测试结果:每个结点包含的样本集合根据属性测试的结果被划分到子结点中:根结点 ...

  4. Python小白学习之路(十)—【函数】【函数返回值】【函数参数】

    写在前面: 昨天早睡之后,感觉今天已经恢复了百分之八十的样子 又是活力满满的小伙郭 今日份鸡汤: 我始终相信,在这个世界上,一定有另一个自己,在做着我不敢做的事,在过着我想过的生活.-------宫崎 ...

  5. 如何解决jade标签没有闭合,如input

    最近用jade模板引擎编写html时发现input编译输出为<input>,而我想要的效果为<input/>, 如何解决呢,这时我们可以这样写: input/     ---& ...

  6. java编写service详细笔记 - centos7.2实战笔记(windows类似就不在重复了)

    java编写service详细笔记 - centos7.2实战笔记(windows类似就不在重复了)  目标效果(命令行启动服务): service xxxxd start #启动服务  servic ...

  7. 剑指offer三十九之平衡二叉树

    一.题目 输入一棵二叉树,判断该二叉树是否是平衡二叉树. 二.思路 详解代码. 三.代码 public class Solution {     //判断根节点左右子树的深度,高度差超过1,则不平衡 ...

  8. express中间件原理 && 实现

    一.什么是express中间件? 什么是express中间件呢? 我们肯定都听说过这个词,并且,如果你用过express,那么你就一定用过express中间件,如下: var express = re ...

  9. SELECT列表中的标量子查询

    发现了一种表连接新的写法,以前还没有这样写过或者见别人写过.跟同学聊天他们公司却很多人这样写,看来真的要学学sql了 表 CREATE TABLE `t_book` ( `FId` ) NOT NUL ...

  10. visual studio 2008 快捷键

    Ctrl+m+Crtr+o折叠所有大纲Ctrl+M+Crtr+P: 停止大纲显示Ctrl+K+Crtr+C: 注释选定内容Ctrl+K+Crtr+U: 取消选定注释内容Ctrl+J : 列出成员 智能 ...