类似百度输入框自动联想功能遇到的问题:Opera浏览器不支持拼音输入法时的keyup事件
这个问题也许很多人都遇到过了,在百度能搜到很多遇到相同问题的人,但解决办法都是一个(下面是载自其他网页):
【
问题ZcT345站长站
在开启输入法的情况下,三个浏览器的具体问题如下:ZcT345站长站
- IE:触发keydown和keyup, 不触发keypress. 能够获得输入值。
- Firefox:触发keydown和keypress, 不触发keyup. 输入值未能获得。在回车后会触发keyup, 可获得输入值。
- Opera:keydown, keypress和keyup都不触发,输入值也未能获。
(如果您能帮我试用一下Safari,我会很高兴并谢谢您。这里有一个 测试页面 )ZcT345站长站
解决方案ZcT345站长站
总结出以上问题,没有兴奋反而陷入绝望,因为没有google出解决方案(是的,对于拉丁语系的老外来说,不会存在输入法)。但是,wait, 谷歌搜索的自动补全不是工作得好好的吗?于是研究一下这个 http://www.google.cn/ac.js。嘿嘿,虽然混淆得还可以,但还是可以发现蛛丝马脚的。它使用一个计时器,当输入框处于聚焦(focus)状态时,每10秒执行一次回调函数。ZcT345站长站
虽然挺耗资源(所以建议在输入框失焦(blur)时,一定要清除这个计时器),但也只能如此了。作前端开发的,不仅要与语言(JavaScript, CSS, HTML) 斗,还要与浏览器斗,其乐无穷也。ZcT345站长站
】
本不想用该解决方法,但又想不到也找不到其他的解决办法,所以。。。。
下面是我项目中完成这功能的部分代码:
var intervalProcess = null;
function listenTxtVal(){
/*由于Opera等浏览器不支持拼音输入法下的keyup等事件,所以采用keyup事件来完成autocomplete功能有问题
所以采用setInterval来实现autocomplete*/
intervalProcess = setInterval(ajax_request_autoComplete, 10);
}
function removeTxtListen(){
clearInterval(intervalProcess);
}
//保存上一次文本框的值
var preTxtVal = "";
//因为每隔10毫秒调一次,比较耗性能,所以保存上一次文本值,如果文本框的值没有发生改变,则不执行if中的代码
if ($searchInput.val() != preTxtVal) {
.........................
}
类似百度输入框自动联想功能遇到的问题:Opera浏览器不支持拼音输入法时的keyup事件相关推荐
- 类似百度输入框自动完成
1.前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InputAu ...
- 输入框自动联想功能demo
思路: 简单来看,是创建一个输入框,然后给输入框绑定事件.当事件触发后,在输入框的正下方生成一个临时的选择列表.选中列表后,将数据回写到输入框,列表消失. 下面是从网上找的两种实现方式的demo,至于 ...
- 仿百度,谷歌输入框自动提示功能
大家使用百度谷歌的时候都会有输入自动提示的功能,心血来潮自己用Ajax模拟了一个,和大家分享分享. 下面让我们先看下效果: 输入自动提示 键盘上下移动选取 鼠标选取同样支持 支持中文匹配 JS ...
- js输入框的联想功能
问题:最近最近公司要搞一个弹框页面上显示一个输入框,并且可以联想出具体的地铁站名称,功能类似于百度效果,对于这个功能自己写一套,感觉还是自己技术不够,所以找了很久,终于发现一个可以支持中文联想功 ...
- 五笔新手,打开搜狗五笔输入法自动联想功能
刚学五笔,打字堪称龟速,打开联想功能能方便点. 打开 输入法"设置属性" -> 高级-> 使用词语联想. 这只是暂时 ,不太好用. 等熟悉了就好了.
- 如何解决IDEA中输入sout,psvm后没有自动联想功能的问题。
File ----> Setting 选中Live Templates 搜索sout和psvm 注意左下角: 当然你的电脑上的显示会与我不同,但是你只要知道,这里的作用是限制"sout ...
- 模拟百度搜索框自动联想功能,原生js+jsonp轻松搞定
链接 下面是我闲暇时总结的JS.CSS.算法总结,欢迎大家点赞.star-- 有趣实用的CSS效果 前端博客 传送门 LeetCode个人题解 传送门 讲解如何利用百度接口仿写一个搜索联想词功能 效果 ...
- PHP实现类似百度搜索自动完成(代码简单)
一.效果图: 二.HTML代码 <html lang="en"> <head><meta charset="utf-8">& ...
- 一个通用的ajax程序(实现像百度一样自动提示功能)
1.jsp+javabean实现ajax (1),<script type="text/javascript"> String.prototype.trim=funct ...
最新文章
- [Zjoi2015]诸神眷顾的幻想乡
- (0034) iOS 开发之UIView动画(过渡效果)
- Python操作Excel(将父子级表头生成树状结构)
- LeetCode Maximum Depth of Binary Tree
- 中大计算机研究生英语免修条件,通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知...
- Linux执行yum不显示时间,Linux停的yum命令详解(朝花夕拾)
- ubuntu安装npm(npm install)时报错:run `npm audit fix` to fix them, or `npm audit` for details
- python3 split()函数
- ubuntu上安装nodejs
- mbot编程机器人怎么连接蓝牙_台式机蓝牙怎么连接
- oracle11g服务配置,oracle11g dg broker配置服务的高可用
- Android计分器课程设计,比赛计分器课程设计.doc
- linux如何卸载anaconda
- PID调节规律各自的特点
- unity5(一)unity5新特性 unity下载与安装
- windows无法格式化u盘_Windows系统提示U盘无法完成格式化的解决方法
- C语言去掉字符串首尾空格,C语言实现去除字符串首尾空格
- 又一个程序猿的奋斗史——第五章	苦逼的宿舍条件
- 南邮 OJ 2001 水獭看动漫
- 【图文并茂】在线一键重装win7系统详细教程