作家
登录

input 输入框内的输入事件详细分析

作者: 来源:www.28hudong.com 2013-03-30 01:46:22 阅读 我要评论

1.基础:本次分析原理就是在各个浏览器下input内容变化的时候触发事件的各种不兼容性.在ie下用onpropertychange事件,在其他浏览器里用input事件. 2.用例:对每个浏览器分别测试如下的情况: –输入英文字母时–开启输入法时–大小写不同时–输入运算符时–按下tab键时–输入法中按下空格时–按下控制键时–复制粘贴时–删除文本时–等等 3.测试开始:(只标出特殊情况,没标出的表示正常触发,每次只触发一次事件) chrome: +开启输入法时,可以捕捉到输入事件. +开启输入法的时候按下空格键,触发两次事件,猜测一次是空格触发的,一次是输入法改变输入框里的文本时触发的. +开启输入法的时候,按下空格后,立即按下大写锁定,此后所有的输入事件都会被触发两次,原因不知. +没有开启输入法的时候,方向键不会触发事件,但是开启输入法后,方向键可以触发事件. +剪切和粘贴都会触发事件.+tab键不处罚事件,开启输入法时,按tab键触发事件. +按住shift和其他键(例如:数字键),每输入一个字符触发两次事件. Firefox: +开启输入法时,不能扑捉到事件,但是按下空格时,可以触发两次事件. +任何时候方向键都不触发事件. +开启输入法的时候,按下空格后,立即按下大写锁定,此后所有的输入事件都会被触发两次,原因不知. +按下tab键的时候不触发事件.++Firefox页面刷新的时候内容会被保留在输入框里. +按住shift和其他键(例如:数字键),每输入一个字符触发两次事件. opera: +正常情况下,在输入框里按下tab键会触发一次事件,但是此后只要不刷新页面,tab键都不会再触发此事件. +开启输入法后不会触发事件,开启后,方向键和tab键都不触发事件. +开启输入法时,按下空格只触发一次事件,不会出现触发两次事件的情况. +粘贴的时候触发事件,剪切的时候不触发 ie: +输入法不会触发事件,按空格也都是只触发一次,方向键任何时刻都不触发. +刷新页面的时候内容会留在input里,而且注意,不管input是不是空的,刷新页面后自动触发一次事件. 3.总结. 就一句话,差异很大. 注意input事件可以用在chrome,Firefox,opera里,但是只能用 addEventListener绑定,不能用ontype形式,而onpropertychange可以用on形式,也可以用attachEvent绑定 其它在线演示说明:http://www.jb51.net/tools/keyboard_events.html

  推荐阅读

  javascript中的new使用

所以javascript中没有类的概念。理解这一点很重要,很多javascript教程为了让读者更容易理解,会套用他们常用的类模式中的概念,这 样反而让大家产生歧义。 先进段代码,   复制代码 代码如下: function employee>>>详细阅读


本文标题:input 输入框内的输入事件详细分析

地址:http://www.17bianji.com/kaifa2/JS/26841.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)