【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 ...
随机推荐
- Spark- 数据清洗
输入输出转化工具类 package com.rz.mobile_tag.log import org.apache.spark.sql.Row import org.apache.spark.sql. ...
- node.js抓取网上图片保存到本地
用到两个模块,http和fs var http = require("http");var fs = require("fs"); var server = h ...
- Javascript-- jQuery事件篇(2)
jQuery表单事件之blur与focus事件 单处理事件focusin事件与focusout事件,同样用于处理表单焦点的事件还有blur与focus事件 它们之间的本质区别: 是否支持冒泡处理 举个 ...
- Linux-NoSQL之Redis(三)
一.Redis数据常用操作 1.string常用操作 set key1 aminglinux get key1 set key1 aming //一个key对应一个value,多次赋值,会覆盖前面 ...
- nodejs cluster 学习记录
最近在使用 egg.js ,这个框架提供多进程管理机制 我们知道 JavaScript 代码是运行在单线程上的,换句话说一个 Node.js 进程只能运行在一个 CPU 上.如何榨干服务器资源,利用上 ...
- django学习笔记(一)视图和url配置
1.开始一个项目: 进入创建的目录,然后: django-admin startproject myblog 2.启动开发服务器: python manage.py runserver 注:默认是80 ...
- Struts2 - action通配符映射
一个 Web 应用可能有成百上千个 action 声明. 可以利用 struts 提供的通配符映射机制把多个彼此相似的映射关系简化为一个映射关系 通配符映射规则 – 若找到多个匹配, 没有通 ...
- 机器学习 Support Vector Machines 2
优化的边界分类器 上一讲里我们介绍了函数边界和几何边界的概念,给定一组训练样本,如果能够找到一条决策边界,能够使得几何边界尽可能地大,这将使分类器可以很可靠地预测训练样本,特别地,这可以让分类器用一个 ...
- CI中控制器名不能和本个 控制器中的方法名相同
控制器名称:application/controllers/tang.php 控制器中方法名称:application/controllers/role.php 中有方法 public funct ...
- Excel文本获取拼音
[说明] 版本:Excel 2010 文件后缀:.xls 有在.xlsb文件下使用未成功.建议使用.xls后缀. 1.调出“开发工具” 步骤:文件-->选项-->自定义功能区-->勾 ...