这两天有个大新闻,oracle向一位io【作者:唐霜】转载请注明出处:www.tangshuang.nets开发者的产品提起诉讼,原因是他在自己的【转载请注明来源】【原创内容,转载请注明出处】产品名称中使用JavaScript这个单【版权所有,侵权必究】著作权归作者所有,禁止商业用途转载。词,而且JavaScript是当年sun【本文首发于唐霜的博客】著作权归作者所有,禁止商业用途转载。注册的商标,而后来sun又卖给了orac【本文受版权保护】【未经授权禁止转载】le。于是大家开始讨论,是时候给Java原创内容,盗版必究。原创内容,盗版必究。Script改个名字了。
本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net原创内容,盗版必究。今天来谈一下在手机中文输入法输入到inp著作权归作者所有,禁止商业用途转载。【关注微信公众号:wwwtangshuangnet】ut时的一些事件问题。我们对一个inpu未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。t是否在输入内容,往往非常惬意的使用in本文版权归作者所有,未经授权不得转载。【作者:唐霜】put或change事件。但是在遇到手机【本文首发于唐霜的博客】【转载请注明来源】中文输入法时,可能事情没那么容易。
【原创内容,转载请注明出处】【本文受版权保护】【原创不易,请尊重版权】对于中文输入法而言,input事件监听到【未经授权禁止转载】未经授权,禁止复制转载。的,是每一次点击键盘的操作,而非最终选择【版权所有】唐霜 www.tangshuang.net【本文受版权保护】的中文字。这和英文输入有点不同,中文输入【访问 www.tangshuang.net 获取更多精彩内容】【原创不易,请尊重版权】不是所见即所得,而是音/象拼形,所以是两【未经授权禁止转载】未经授权,禁止复制转载。步走,先拼再选。input只能监听拼这个未经授权,禁止复制转载。【未经授权禁止转载】步骤,而选则要依靠另外一个事件:comp本文作者:唐霜,转载请注明出处。【本文首发于唐霜的博客】ositionend。
本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。转载请注明出处:www.tangshuang.net【版权所有,侵权必究】本文作者:唐霜,转载请注明出处。当文本段落的组成完成或取消时, comp本文作者:唐霜,转载请注明出处。【本文受版权保护】ositionend 事件将被激发 (具【作者:唐霜】【转载请注明来源】有特殊字符的激发, 需要一系列键和其他输原创内容,盗版必究。本文版权归作者所有,未经授权不得转载。入, 如语音识别或移动中的字词建议)。
未经授权,禁止复制转载。【原创不易,请尊重版权】【本文首发于唐霜的博客】
与它配合的事件是compositions【关注微信公众号:wwwtangshuangnet】【版权所有,侵权必究】tart。
【版权所有,侵权必究】【版权所有】唐霜 www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。未经授权,禁止复制转载。本文作者:唐霜,转载请注明出处。本文版权归作者所有,未经授权不得转载。compositionstart事件触发著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。于一段文字的输入之前(类似于 keydo转载请注明出处:www.tangshuang.net转载请注明出处:www.tangshuang.netwn 事件,但是该事件仅在若干可见字符的【访问 www.tangshuang.net 获取更多精彩内容】【未经授权禁止转载】输入之前,而这些可见字符的输入可能需要一【未经授权禁止转载】【访问 www.tangshuang.net 获取更多精彩内容】连串的键盘操作、语音识别或者点击输入法的本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】备选词)。
【版权所有】唐霜 www.tangshuang.net未经授权,禁止复制转载。【未经授权禁止转载】
这两个事件用在语音输入上非常有用。语音输【原创内容,转载请注明出处】【本文首发于唐霜的博客】入没有拼的过程,因此没有input事件,著作权归作者所有,禁止商业用途转载。【版权所有】唐霜 www.tangshuang.net当语音输入被激发时,可以通过compos本文版权归作者所有,未经授权不得转载。本文版权归作者所有,未经授权不得转载。itionstart事件的回调函数来执行【原创不易,请尊重版权】【原创不易,请尊重版权】一些事情,语音输入完(有的时候要你选一些原创内容,盗版必究。【原创不易,请尊重版权】词)可以用compositionend事著作权归作者所有,禁止商业用途转载。本文作者:唐霜,转载请注明出处。件的回调来做一些事。但是和input对应【作者:唐霜】本文作者:唐霜,转载请注明出处。,在语音输入过程中,一般的语音输入是直接【版权所有】唐霜 www.tangshuang.net本文版权归作者所有,未经授权不得转载。出文字的,也就是说在input框里面,会本文版权归作者所有,未经授权不得转载。本文作者:唐霜,转载请注明出处。按照你当前说的话,翻译成文字,虽然这段文未经授权,禁止复制转载。【版权所有】唐霜 www.tangshuang.net字还是被选中状态,这种状态怎么监听呢?用【原创不易,请尊重版权】本文版权归作者所有,未经授权不得转载。compositionupdate事件。
【转载请注明来源】转载请注明出处:www.tangshuang.net原创内容,盗版必究。本文作者:唐霜,转载请注明出处。未经授权,禁止复制转载。【关注微信公众号:wwwtangshuangnet】【作者:唐霜】【原创不易,请尊重版权】compositionupdate 事件转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】触发于字符被输入到一段文字的时候(这些可未经授权,禁止复制转载。【未经授权禁止转载】见字符的输入可能需要一连串的键盘操作、语转载请注明出处:www.tangshuang.net【原创不易,请尊重版权】音识别或者点击输入法的备选词)
【版权所有】唐霜 www.tangshuang.net【原创内容,转载请注明出处】著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。【原创不易,请尊重版权】
但是我们本文是在说输入法,所以暂时用不上【关注微信公众号:wwwtangshuangnet】【本文受版权保护】compositionupdate。
【本文受版权保护】【版权所有】唐霜 www.tangshuang.net转载请注明出处:www.tangshuang.net【访问 www.tangshuang.net 获取更多精彩内容】对于中文输入法我们可以看作这样一个流程:【本文受版权保护】【原创内容,转载请注明出处】compositionstart -&g本文版权归作者所有,未经授权不得转载。【未经授权禁止转载】t; input -> compo【原创不易,请尊重版权】本文作者:唐霜,转载请注明出处。sitionend。
【版权所有】唐霜 www.tangshuang.net【本文首发于唐霜的博客】本文作者:唐霜,转载请注明出处。【原创不易,请尊重版权】【访问 www.tangshuang.net 获取更多精彩内容】let input = document.getElementById('input')
let typing = false
input.addEventListener('compositionstart', function() {
typing = true
}, false)
input.addEventListener('input', function() {
if (typing) {
// 这里可以做点其他事情,比如通过拼音去联想用户要输入的中文字,然后提前进行后台搜索
}
// 如果你不想进行任何处理,可以不用监听input事件,这个时候,连compositionstart都可以省了
}, false)
input.addEventListener('compositionend', function() {
// 这里写当用户选择了要输入的中文字之后要执行的动作
typing = false
}, false)
但是很明显,当用户点击一个input,打【作者:唐霜】【未经授权禁止转载】开软键盘的时候,你是不知道用户处于中文输【未经授权禁止转载】【原创内容,转载请注明出处】入法还是英文输入法状态的,这个时候com【原创内容,转载请注明出处】【原创不易,请尊重版权】positionstart都会被触发,但【访问 www.tangshuang.net 获取更多精彩内容】本文版权归作者所有,未经授权不得转载。是英文输入法会直接被输入到文本框里面。不著作权归作者所有,禁止商业用途转载。原创内容,盗版必究。过也有例外,iphone的英文输入法键盘【版权所有】唐霜 www.tangshuang.net【版权所有,侵权必究】会有联想,也可以进行选择,因此,这种情况【本文受版权保护】【版权所有】唐霜 www.tangshuang.net下最好将三个事件一起配合使用。
【本文首发于唐霜的博客】转载请注明出处:www.tangshuang.net【转载请注明来源】2018-04-20 5299 事件


