输入法下keyup的失效的解决方案

2016-02-19 14:11 192 1 收藏

在这个颜值当道,屌丝闪边的时代,拼不过颜值拼内涵,只有知识丰富才能提升一个人的内在气质和修养,所谓人丑就要多学习,今天图老师给大家分享输入法下keyup的失效的解决方案,希望可以对大家能有小小的帮助。

【 tulaoshi.com - Web开发 】

网页制作Webjx文章简介:在某些情况下,比如自动补全(autocomplete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。关键在于keyup,如果世界是美好的,那么就不会有这篇blog.可是世界是不美好的。我们活在中文世界,我们要用输入法。在输入法开启的情况下,您会碰到不美
  
  在某些情况下,比如自动补全(autocomplete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。
  
  关键在于keyup,如果世界是美好的,那么就不会有这篇blog.可是……
  
  世界是不美好的。我们活在中文世界,我们要用输入法。在输入法开启的情况下,您会碰到不美好的事情:keyup失效。对于您绑定到keyup的任何回调函数,除非您把输入法切换回英文状态,否则它会无动于衷。如果能称之为bug,我会很高兴,因为bug会有修复的可能,如果是特征(feature),那么,我只好叹息一下。
  
  问题
  
  在开启输入法的情况下,三个浏览器的具体问题如下:
  
  IE:触发keydown和keyup,不触发keypress.能够获得输入值。
  
  Firefox:触发keydown和keypress,不触发keyup.输入值未能获得。在回车后会触发keyup,可获得输入值。
  
  Opera:keydown,keypress和keyup都不触发,输入值也未能获。
  
  (如果您能帮我试用一下Safari,我会很高兴并谢谢您。这里有一个测试页面)
  
  解决方案
  
  总结出以上问题,没有兴奋反而陷入绝望,因为没有google出解决方案(是的,对于拉丁语系的老外来说,不会存在输入法)。但是,wait,谷歌搜索的自动补全不是工作得好好的吗?于是研究一下这个http://www.google.cn/ac.js。嘿嘿,虽然混淆得还可以,但还是可以发现蛛丝马脚的。它使用一个计时器,当输入框处于聚焦(focus)状态时,每10秒执行一次回调函数。
  
  虽然挺耗资源(所以建议在输入框失焦(blur)时,一定要清除这个计时器),但也只能如此了。作前端开发的,不仅要与语言(JavaScript,CSS,HTML)斗,还要与浏览器斗,其乐无穷也。
  

来源:https://www.tulaoshi.com/n/20160219/1606385.html

延伸阅读
标签: 电脑入门
MSN老是登陆不了,出现:0x81000370错误,卸载安装了多次都是这样,然后GOOGLE的网页搜索里到处找,就发现了下面的解决方法。 可能有许多原因导致不能登录到 .NET Messenger Service或在登陆时出现 种种错误(例如:0x81000370错误)。这些问题通常可以用下面几个方法之 一解决: 1.你的电脑上的日期/时间属性是否设置正确:双击时间,检查日...
标签: ASP
  <%@ LANGUAGE="VBSCRIPT" % <% ' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ' 从ADO Recordset直接生成报表 ' = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = ' ' 概念: ' ' 这个应用被设计成演示怎样从ADO Recordset生成报表。我们首先建立ADO Connection和 ' ...
今天在centos6.2下面源码编译安装mysql的时,在编译mysql的时候报了一个蛋蛋的错误: 代码如下: [root@vps870 mysql-5.5.28]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \ -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \ -DDEFAULT_CHARSET=gbk \ -DDEFAULT_COLLATION=gbk_chinese_ci \ -DWITH_EXTRA_CHARSETS:STRING=gbk,gb2312,utf8 ...
标签: 电脑入门
下面讲述Eva QQ崩溃的解决方案: 1、完全卸载Eva QQ,在终端运行代码:sudo apt-get remove --purge eva; 2、Firefox地址栏输入 ftp://www.bjlx.org.cn/eva/ 下载相应版本的bug修复包: a、一般非基于Debian的系统,如红旗、中标、RedHat、SUSE、Fedora8等,请下载文件:eva_0.4.921bugfix54.tar.gz,手动编译; b、...
标签: windows系统
Win8下麦克风和线路输入问题解决方案   本文提供了解决麦克风以及其它线路输入源(例如:磁带播放器、答录机和其它类型的声音设备)问题的方法。本文适用于装有 Windows8 的 HP 和 Compaq 电脑,其他品牌安装了Win8系统的用户也可以参考这篇文章中的方法有选择的借鉴一二。 注:使用本文前,请确保 Windows 中扬声器可以发声。 ...

经验教程

629

收藏

18
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部