【WIP】客户端JavaScript 事件处理
创建: 2017/10/15
| 事件句柄的登陆方法 | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件句柄 的登陆方法 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 删除事件监听器 | target.removeEventListener(type, listener, useCapture); 1. 登陆时候如果是无名函数,不能删 2. 可以删除自己(整个事件?) element.removeEventListener("click", arguments.callee, false); |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件对象 | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 参数 | 事件回调的对象函数的参数, 名字任意。一般为e或event |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 获取 | 可以直接在触发的处理里使用event 或者加上参数e(jquery.event) $('sample').click(function(e) { event.stopPropagation(); event.preventDefault(); console.log(event); console.log(e); } |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件种类 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件对象共有的属性 | p412
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 鼠标事件对象的共通属性 | click, dbclick, mousedown, mouseup, mousemove, mouseout, mouseover
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 键盘事件的共通属性 | keydown, keypress, keyup等
注:
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件的传播 | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件的相 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 取消事件 | 阻止事件的传播
阻止事件的传播与其他同级事件
阻止默认动作
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件监听器内的this | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 事件监听器内的this | 表示登陆该事件的元素对象 | ||||||||||||||||||||||||||||||||||||||||||||||||||
| 改变this指定的对象 | 略 p422 // TODO: 补充这里 |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 向事件监听器添加参数的方法 | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 用无名函数 | 在无名函数里面传递参数 e.addEventListener("click", function(e) { test(e, 想要传递的参数); }, false); function test(e, 想要传递的参数) {...}; |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 用返回函数的函数 | e.addEventListener("click", test(...), false);
function test(想要传递的参数) { |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 自定义事件 | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 步骤 |
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 和默认事件的区别 | event.isTrusted true: 用户产生 false: 开发端产生 |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 自定义事件的用途 | 一旦派发,监听器立即执行。所以和直接执行监听器函数没区别。 但是这样更加面向对象,不用在意接口 |
||||||||||||||||||||||||||||||||||||||||||||||||||
| 间接的实现非同期处理(Promise) | |||||||||||||||||||||||||||||||||||||||||||||||||||
| 通常的回调 |
回调只是注册在运行堆, 实际运行时刻为可执行时间和实际设定开始时间中最先到来的 // 输出 A C B 要想实现期待的顺序 setTimeout(()=>{
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| Promise |
var promise = new Promise(function(resolve, reject) {...});
● 参数 想要执行的参数
● 运行
|
||||||||||||||||||||||||||||||||||||||||||||||||||
| 做一个画图软件 | |||||||||||||||||||||||||||||||||||||||||||||||||||
【WIP】客户端JavaScript 事件处理的更多相关文章
- 【WIP】客户端JavaScript Web Object
创建: 2017/10/11 更新: 2017/10/14 标题加上[WIP],增加[TODO] 更新: 2018/01/22 更改标题 [客户端JavaScript Web Object, UR ...
- 【JavaScript权威指南(第五版)】笔记之第二部分 客户端JavaScript 第13章~第23章
第十三章 Web浏览器中的javascript ① eg:下面两行代码实际上执行的是相同的功能 var answer = 42; window.answer = 42; ③每个window对象 ...
- JavaScript 客户端JavaScript之事件(DOM API 提供模块之一)
具有交互性的JavaScript程序使用的是事件驱动的程序设计模型. 目前使用的有3种完全不同的不兼容的事件处理模型. 1.原始事件模型 (一种简单的事件处理模式) 一般把它看作0级DOM API ...
- JavaScript 客户端JavaScript之 脚本化文档
客户端JavaScript的存在把静态HTML转变为交互式的Web应用程序,脚本化Web页面的内容正是JavaScript存在的理由. 一个文档对象模型或者说DOM就是一个API,它定义了如何访问 ...
- 客户端JavaScript(window、document、element)
一.window对象是所有客户端JavaScript特性和API的主要接入点,用window来引用它. 属性:location属性(引用Location对象,当前显示在窗口的URL).document ...
- JavaScript的进阶之路(七)客户端JavaScript知识点总结
一.客户端JavaScript主要是BOM DOM的操作和js脚本的兼容性.互用性.可访问性.安全性的应用.以及一些框架的引用. 二.BOM:浏览器对象模型 主要介绍window对象 1.定时器:se ...
- 浅谈个人对客户端JavaScript同步、异步、执行顺序等概念的理解
一.同步和异步的概念. 同步:即按代码的顺序执行任务. 在下列代码中,按照同步概念,则是先打印1后打印2. console.log(1); console.log(2); 异步:即执行一个任务的同时执 ...
- JavaScript 客户端JavaScript之脚本化HTTP(通过XMLHttpRequest)
XMLHttpRequest对象的设计目的是为了处理由普通文本或XML组成的响应:但是,一个响应也可能是另外一种类型,如果用户代理(UA)支持这种内容类型的话. 大多数浏览的客户端JavaScri ...
- JavaScript 客户端JavaScript之 Web浏览器的环境
Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容) Web浏览器中的Javascrip ...
随机推荐
- 理解SetCapture()和ReleaseCapture()及GetCapture()作用
正常情况下,鼠标指针位于哪个窗口区域内,鼠标消息就自动发给哪个窗口.如果调用了SetCapture,之后无论鼠标的位置在哪,鼠标消息都发给指定的这个窗口,直到调用ReleaseCapture或者调用S ...
- 动态规划 最长回文子串 leetcode5
public static String longestPalindrome(String s) { if(null==s||s.length()==0) return s; int n=s.leng ...
- python中的enumerate()函数用法
enumerate函数用于遍历序列中的元素以及它们的下标,可以非常方便的遍历元素. 比如我在往excel中写数据时就用到了这个函数: data = [] data.append(('预约码', '车牌 ...
- [原]NYOJ-无线网络覆盖-199
大学生程序代写 /*无线网络覆盖 时间限制:3000 ms | 内存限制:65535 KB 难度:3 描述 我们的乐乐同学对于网络可算得上是情有独钟,他有一个计划,那就是用无线网覆盖郑州大学. 现 ...
- Mybatis学习--Mapper XML文件
学习笔记,选自Mybatis官方中文文档:http://www.mybatis.org/mybatis-3/zh/sqlmap-xml.html#insert_update_and_delete My ...
- ffmpeg处理rtmp/文件/rtsp的推流和拉流
ffmpeg处理rtmp/文件/rtsp的推流和拉流 本demo演示了利用ffmpeg从服务器拉流或本地文件读取流,更改流url或文件类型名称发送回服务器或存到本地的作用. 由于本程序只写了3个小 ...
- WC2010 BZOJ1758 重建计划_长链剖分
题目大意: 求长度$\in [L,U]$的路径的最大边权和平均值. 题解 首先二分就不用说了,分数规划大家都懂. 这题有非常显然的点分治做法,但还是借着这个题学一波长链剖分. 其长链剖分本身也没啥,就 ...
- pytorch 调用forward 的具体流程
forward方法的具体流程: 以一个Module为例:1. 调用module的call方法2. module的call里面调用module的forward方法3. forward里面如果碰到Modu ...
- 作为.NET程序员,您需要IronPython么?
.NET作为一个成熟的开发平台,为很多语言的发展提供了肥沃的土壤:历史相对久远的有Managed C++.C#.VB.NET.J#,正值壮年的则有IronPython.IronRuby,而老赵极力推崇 ...
- Oracle 12c 多租户 CDB 与 PDB 级别 expdb 与 impdb(表、用户、全库)
Oracle 数据库 12 c 多租户下,如何在容器数据库 (CDB) 和可插拔数据库 (PDB) 中使用 expdb 与 impdp (数据泵) 呢? 我们一起探讨下PDB 下进行表级,用户级别,全 ...