Javascript高级编程学习笔记(65)—— 事件(9)复合事件
复合事件
复合事件是 DOM3 中新增的一类事件,用于处理 IME 的输入序列
IME(输入法编辑器)通常用于输入物理键盘上找不到的字符,而这种输入方式通常需要同时按住多个键,但最终只输入一个字符
复合事件就是针对检测和处理这种输入而设计的
复合事件有以下三种:
- compositionstart:在IME的文本复合系统打开时触发
- compositionupdate:向输入字段中插入新字符时触发
- compositionend:在IME的文本复合系统关闭时触发,表示返回键盘的正常输入状态
在大体上复合事件与文本事件在很多方面相似
在其触发时,目标是接收文本的输入字段,但它比文本事件对象多一个data属性
data属性的值,为以下值中的一个:
- 在触发 compositionstart 时,值为正在编辑的文本
- 在触发 compositionupdate 时,值为正在插入的文本
- 在触发 compositionend 时,值为此次操作已经插入的字符
- 否则为空字符串
复合事件可冒泡
对于是否支持复合事件,可以使用以下代码检测:
var isSupported = document.implementation.hasFeature("CompositionEvent","3.0");
Javascript高级编程学习笔记(65)—— 事件(9)复合事件的更多相关文章
- JavaScript高级程序设计学习笔记之事件
1.事件流 事件流描述的是从页面中接收事件的顺序. 事件冒泡 IE的事件流叫做事件冒泡(event bubbling),即事件开始时由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播 ...
- Javascript高级编程学习笔记(57)—— 事件(1)事件流
事件 JS与HTML的交互是通过事件实现的 而事件指的就是:文档或浏览器窗口特定的交互瞬间 可以通过侦听器来预定事件,以便在事件发生时执行相应的代码 这种模式也是设计模式中的观察者模式 事件流 有了事 ...
- Javascript高级编程学习笔记(72)—— 模拟事件(2)IE事件模拟
IE中的事件模拟 低版本的IE浏览器作为前端开发的一股清流,想避过都不行 虽然低版本IE正在逐步被市场淘汰,不得不承认IE8以下的浏览器依然占了不小的份额 所以这里大概介绍IE8以下的低版本IE中的事 ...
- Javascript高级编程学习笔记(71)—— 模拟事件(1)DOM事件模拟
事件,指的是网页中某个特定的交互时刻 一般来说事件由浏览器厂商负责提供,一般由用户操作或者其它浏览器功能来触发 但是有一类特殊的事件,那就是由我们开发人员通过JS触发的事件 这些事件和浏览器创建的事件 ...
- Javascript高级编程学习笔记(70)—— 事件(14)内存和性能
由于事件处理程序是现代的web程序交互能力的提供者 所以在日常实践中,我们免不了要向页面中添加大量的事件处理程序(不管是用于用户交互还是用于统计用户数据) 在创建GUI(图形用户界面)的语言(如C#) ...
- Javascript高级编程学习笔记(69)—— 事件(13)触摸与手势事件
触摸与手势事件 由于移动设备既没有鼠标也没有键盘,所以在为移动浏览器开发交互性网页时,常规的鼠标键盘事件根本不够用 所以早期的苹果为Safari 添加了一些与触摸相关的事件 随着后面Android的W ...
- Javascript高级编程学习笔记(68)—— 事件(12)设备事件
设备事件 随着智能手机与平板电脑的普及,为了更好地让用户与这些设备进行交互 浏览器引入了一种新的方式,而一类新的事件也应运而生,这就是设备事件 W3C从2011年开始制定关于设备事件的草案 下面将会介 ...
- Javascript高级编程学习笔记(67)—— 事件(11)HTML5事件
DOM规范没有涵盖所有浏览器支持的所有事件 而许多浏览器出于满足用户需求,或解决特殊问题的目的,实现了一些自定义事件 HTML5列出了浏览器应该支持的所有事件,这里只讨论得到浏览器完善支持的事件(并非 ...
- Javascript高级编程学习笔记(66)—— 事件(10)变动事件
变动事件 DOM2级的变动事件,能在DOM中的一部分发生变化时给出提示 变动事件是为XML或HTML DOM 设计的,并不特定于某种语言 DOM2级定义了如下变动事件: DOMSubtreeModif ...
随机推荐
- Flask-Session 简单使用
一 知识点 1. 安装 flask 1.0.2 使用Flask-Session,其实必须需要配置的只有这几个地方: 注意!!!!!!: 1. 需要配置的地方1 # flask_session 中的S ...
- CSS3--2D&3D的使用
transform 过渡属性 向元素进行2D或3D转换 transform-origin:该元素基于某个点来旋转 transform-style: preserve-3d 规定嵌套元素如何在3D空间 ...
- MySQL加入log_bin报错
MySQL中二进制日志功能默认是关闭的,查看各种开启方式后,确定在配置文件中加入如下配置来开启该功能: [root@bogon /]# more /etc/my.cnf [mysqld] datadi ...
- 28. pt-table-sync
前提:得有checksum表 pt-table-sync --replicate=pt.checksum \h=192.168.100.101,P=3306,u=admin,p=admin \h=19 ...
- 1,charles的功能能介绍和安装破解
1,charles的功能 1,截取http和https网络包 2,支持重发网络请求,方便后端调试 3,支持网络请求的截获和动态修改 4,支持模拟弱化的网络 2,安装和破解 1,进入官网下载地址:htt ...
- Django高级实战 开发企业级问答网站完整
资源获取链接点击这里 Django高级实战 开发企业级问答网站 从实际需求分析开始,实现当今主流知识问答应用的功能,包括动态.文章.问答.私信.消息通知.搜索.个人中心,打造企业级知识问答网站,由此全 ...
- PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储
PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储 项目中有用到md5截取做session key值的,有些md5截取出来的部分是纯数字的,导致部分 ...
- get windows auth code
public static WindowsIdentityInfo GetWindowsIdentityInfo(HttpContext context) { WindowsIdentityInfo ...
- 递归打印lua中的table
在lua中,table是比较常用的数据形式,有时候为了打印出里面的内容,需要做一些特殊处理. 废话不多讲,直接粘代码: print = release_print -- 递归打印table local ...
- vue中created、mounted、 computed,watch,method 等方法整理
created:html加载完成之前,执行.执行顺序:父组件-子组件 mounted:html加载完成后执行.执行顺序:子组件-父组件 methods:事件方法执行 watch:watch是去监听一个 ...