【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 ...
随机推荐
- Oracle角色管理
--创建角色 create role role_name [not identified |--无需验证的方式 identified by [password]--密码验证的方式 | identifi ...
- 日期工具类 DateUtils(继承org.apache.commons.lang.time.DateUtils类)
/** * */ package com.dsj.gdbd.utils.web; import org.apache.commons.lang3.time.DateFormatUtils; impor ...
- 分享知识-快乐自己:PageHelper 分页关键基础代码
关键代码:点我下载样式 详细介绍 //使用分页插件 jQuery("#pagination").pagination(data.total, { items_per_page: ...
- (转)Java 调用 C++ (Java 调用 dll)
转自: http://www.cnblogs.com/baokang/p/4979243.html 因为要做点图形处理的项目,需要在Java中调用dll库,所以开发的第一步是研究了一下Java Jni ...
- 关于c++中命名空间namespace
一.定义命名空间: 步骤一:在.h文件中:namespace ns{.......}//将定义的类和全局变量,全局函数写入花括号内. 步骤二:在.cpp文件中: using namespace ns ...
- codeforces 617E E. XOR and Favorite Number(莫队算法)
题目链接: E. XOR and Favorite Number time limit per test 4 seconds memory limit per test 256 megabytes i ...
- ES+open-falcon之报警自动发送请求信息
当我们监控nginx的状态码出现错误状态码的时候, 一般的处理方法是通过kibana查询是哪个接口导致从而确定是哪个服务,再进一步登录业务机器查询业务日志确定原因. 我们现在要做的事情就是将 人为的通 ...
- Deferred Shading延迟渲染
Deferred Shading 传统的渲染过程通常为:1)绘制Mesh:2)指定材质:3)处理光照效果:4)输出.传统的过程Mesh越多,光照处理越费时,多光源时就更慢了. 延迟渲染的步骤:1)Pa ...
- docker 局域网仓库(registry)
sudo docker pull daocloud.io/registry 安装仓库(registry) 使用daocloud/aliyun镜像吧,官网仓库真心没法用 sudo docker r ...
- Gson小记
Gson过滤字段,只要在字段前面添加“transient”关键字即可:之前就是因为Channel字段序列化的时候导致了stack over异常.