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

2016-02-20 00:42 10 1 收藏

想要天天向上,就要懂得享受学习。图老师为大家推荐输入法下keyup失效的解决方案,精彩的内容需要你们用心的阅读。还在等什么快点来看看吧!

【 tulaoshi.com - Web开发 】

在某些情况下,比如自动补全(auto complete)的输入框中,需要使用keyup事件来监听键盘的输入以迅速作出回应。

关键在于keyup, 如果世界是美好的,那么就不会有这篇blog. 可是

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

世界是不美好的。我们活在中文世界,我们要用输入法。在输入法开启的情况下,您会碰到不美好的事情:keyup失效。对于您绑定到keyup的任何回调函数,除非您把输入法切换回英文状态,否则它会无动于衷。如果能称之为bug,我会很高兴,因为bug会有修复的可能,如果是特征(feature),那么,我只好叹息一下。

问题

在开启输入法的情况下,三个浏览器的具体问题如下:

IE:触发keydown和keyup, 不触发keypress. 能够获得输入值。 Firefox:触发keydown和keypress, 不触发keyup. 输入值未能获得。在回车后会触发keyup, 可获得输入值。 Opera:keydown, keypress和keyup都不触发,输入值也未能获。

(如果您能帮我试用一下Safari,我会很高兴并谢谢您。这里有一个 测试页面

解决方案

(本文来源于图老师网站,更多请访问https://www.tulaoshi.com/webkaifa/)

总结出以上问题,没有兴奋反而陷入绝望,因为没有google出解决方案(是的,对于拉丁语系的老外来说,不会存在输入法)。但是,wait, 谷歌搜索的自动补全不是工作得好好的吗?于是研究一下这个 http://www.google.cn/ac.js。嘿嘿,虽然混淆得还可以,但还是可以发现蛛丝马脚的。它使用一个计时器,当输入框处于聚焦(focus)状态时,每10秒执行一次回调函数。

虽然挺耗资源(所以建议在输入框失焦(blur)时,一定要清除这个计时器),但也只能如此了。作前端开发的,不仅要与语言(JavaScript, CSS, HTML) 斗,还要与浏览器斗,其乐无穷也。

来源:https://www.tulaoshi.com/n/20160220/1632412.html

延伸阅读
标签: windows系统
Win8下麦克风和线路输入问题解决方案   本文提供了解决麦克风以及其它线路输入源(例如:磁带播放器、答录机和其它类型的声音设备)问题的方法。本文适用于装有 Windows8 的 HP 和 Compaq 电脑,其他品牌安装了Win8系统的用户也可以参考这篇文章中的方法有选择的借鉴一二。 注:使用本文前,请确保 Windows 中扬声器可以发声。 ...
标签: Web开发
    在进行页面的DIV+CSS排版时,遇到IE6(当然有时Firefox下也会偶遇)浏览器中的图片元素img下出现多余空白的问题绝对是常见的对于该问题的解决方法也是“见机行事”,根据原因的不同要用不同的解决方法,这里把解决直接把解决image图片布局下边的多余空隙的BUG的常用方法归纳,供大家参考。     1、将图片转...
标签: 电脑入门
MSN老是登陆不了,出现:0x81000370错误,卸载安装了多次都是这样,然后GOOGLE的网页搜索里到处找,就发现了下面的解决方法。 可能有许多原因导致不能登录到 .NET Messenger Service或在登陆时出现 种种错误(例如:0x81000370错误)。这些问题通常可以用下面几个方法之 一解决: 1.你的电脑上的日期/时间属性是否设置正确:双击时间,检查日...
标签: 电脑入门
Linux输入法的切换和Windows一样,也可使用快捷切换,fcitx输入法是众多输入法中的一种,有些朋友习惯使用该输入法,下面图老师小编就给大家介绍下Linux如何安装fcitx输入法,感兴趣的朋友不妨来了解下吧。 linux系统输入法中英文切换用CTRL+空格键,其它用SHIFT+CTRL。 fcitx输入法安装教程: 1.建议通过发行版的包管理软件来安装,通...
手机搜狗输入法怎么切换其他输入法   方法一、临时切换 1.在手机搜狗输入法下,从顶部下拉通知栏 2.点击 3.选择其他输入法即可 方法二、关闭搜狗 1.进入手机的 2.找到选项 3.关闭搜狗输入法,同时选择其他输入法即可

经验教程

922

收藏

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