中文输入法无法触发onkeyup事件的问题
来源:互联网 发布:人工智能四大开放平台 编辑:程序博客网 时间:2024/06/13 08:17
转载地址:http://www.zlovezl.cn/articles/12/
具体表现是这样的:
当监听一个input的keyup的事件的时候,英文输入法的情况下可以实时的通过keyup事件检测到文本框value的变化,但是当输入法变成中文后,input的keyup事件就不会被正常触发。这是最先前的写法。
<html><head><script type="text/javascript" src="http://www.zlovezl.cn/static/js/jquery-1.4.2.min.js"></script></head><body> <p> 使用keyup事件检测文本框内容: </p> <p> <input type="text" name="keyup_i" id="keyup_i" autocomplete="off"/> <span id="keyup_s"></span> <script type="text/javascript"> $('#keyup_i').bind('keyup', function(){ $('#keyup_s').text($(this).val()); }) </script> </p></body></html>
如你所见,这样的写法遇到了中文不能触发keyup事件的问题。于是寻求解决方法,想起来baidu的搜索栏提示似乎是没有这个问题的,于是开始看百度的js。百度的js比较难看...方法命名净是一个字母,最后发现大概是使用了timeout做一个定时器来定时监测input框的修改。不是很满意这样的方法。于是继续查找看有没有更好的解决办法,于是就找到了oninput和onpropertychange两个事件。
oninput是firefox下面可用,而onpropertychange则是ie下可用。两个方法有着一些区别。
oninput只能检测到value这个属性的变化,而onpropertychange则可以检测到包含value的所有属性的变化。于是开始改成这个样子。
<html><head><script type="text/javascript" src="http://www.zlovezl.cn/static/js/jquery-1.4.2.min.js"></script></head><body> <p> 使用oninput以及onpropertychange事件检测文本框内容: </p> <p> <input type="text" name="inputorp_i" id="inputorp_i" autocomplete="off"/> <span id="inputorp_s"></span> <script type="text/javascript"> //先判断浏览器是不是万恶的IE,没办法,写的东西也有IE使用者 var bind_name = 'input'; if (navigator.userAgent.indexOf("MSIE") != -1){ bind_name = 'propertychange'; } $('#inputorp_i').bind(bind_name, function(){ $('#inputorp_s').text($(this).val()); }) </script> </p></body></html>
问题这么被解决了。
- 中文输入法无法触发onkeyup事件的问题
- ios的中文输入法无法触发onkeyup事件
- 中文输入法导致html input的onkeyup事件无法被触发,解决方法
- 继承View类后onKeyUp无法触发
- ios 自带输入法无法触发 keyup等键盘事件的修复
- chrome下input:file无法触发click事件的问题
- Windows中无法触发DragDrop事件的问题
- 解决动态生成input无法触发click事件的问题
- 解决动态生成input无法触发click事件的问题
- iOS下无法触发focus事件的问题
- Ubuntu中gvim中文输入法ibus无法使用的问题
- 解决搜狗输入法无法切换出中文的问题
- Ubuntu下搜狗输入法无法输入中文的问题
- 输入时触发事件,解决中文输入时的触发问题
- 文本框onkeyup事件的验证
- onKeyUp 事件 在键盘按键被松开时触发
- iquery的事件触发问题
- 问题解决:listview 的itemclick事件无法触发
- Windows Embedded Compact 7中的dll编程(下)
- kettle使用sql查询
- jrtplib介绍 [转]
- 黑马程序员--09.动态与代理AOP--02【Class.forName方法扩展】【Proxy类I】
- 界面与逻辑的关系设计
- 中文输入法无法触发onkeyup事件的问题
- 关于获取.net,winform应用程序主窗体问题
- Cobalt Strike Windows版破解
- Oracle数据库安装及配置
- 绝对值排序
- 利用WM_CTLCOLOR消息实现编辑控制(Edit Control)的文本与背景色的改变
- HDU 1235 统计同成绩学生人数
- u-boot.lds文件诠释
- poj 1328 Radar Installation(nyoj 287 Radar):贪心