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机器人 识别,认证与安全 客 ...
随机推荐
- [bug] JS sort 函数在 ios 中无效
首先,请原谅我做一次标题党: 但我觉得从发现问题到最后解决问题的过程还是蛮有意思的,特此记录一下: 背景 近两天开发的航班延误宝是内嵌在客户端(android.ios)webview 中的 H5 页面 ...
- HTML 5 使用 FileReader、FormData实现文件上传
一.FileReader FileReader 对象允许Web应用程序异步读取存储在用户计算机中的文件(或缓冲区的原始数据),使用File或Blob对象指定要读取的文件或数据. 1.1 实例化 var ...
- HTML+Javascript制作拼图小游戏详解(终)
上次我们已经讲解了制作的原理,并且展示了主要代码. 这次我将完整的代码给大家,仅供参考. HTML部分如下: <!DOCTYPE html> <html lang="en& ...
- WPF快速实现XML可视化编辑工具
虽然最近业余时间主要都放在研究AngularJS上了,不过由于正好要帮朋友做一个生成XML的小工具,顺便又温顾了一下WPF.虽然这个时代相对于Web应用和移动App,Windows应用程序是越来越少了 ...
- (转)ASCII码对照表—在线工具
原文:https://www.sojson.com/asciitable.html 最全的ASCII码对照表--------https://blog.csdn.net/jinduozhao/artic ...
- (转)用Python写堡垒机项目
原文:https://blog.csdn.net/ywq935/article/details/78816860 前言 堡垒机是一种运维安全审计系统.主要的功能是对运维人员的运维操作进行审计和权限控制 ...
- JVM-压缩指针
什么是压缩指针: 通常64位JVM消耗的内存会比32位的最多会多用1.5倍,这是因为对象指针在64位架构下,对象指针长度会翻倍. 对于那些将要从32位平台移植到64位的应用来说,平白无辜多了1/2的内 ...
- ASP.NET 负载均衡 StateServer Session共享问题(经验记录)
(源地址:http://www.cnblogs.com/ryhan/p/3748976.html) 最近在改造公司的一个系统 支持F5硬件负载,由于系统后面还跟了个异步工具,需要将Admin上传的文件 ...
- 如何在python3环境下的Django中使用MySQL数据库
我们在使用Django过程中,连接MySQL数据库时,对Python不同的版本对应的库也不一样,用惯了Python2的人在使用Python3时经常会遇到下面的错误: Error loading MyS ...
- JQCloud: 一个前端生成美化标签云的简单JQuery插件
本文原文地址:https://jiang-hao.com/articles/2018/blog-JQCloud.html 因为博客需要,发现了一个生成美化简约风格的标签云的JQuery插件. 官网地址 ...