这个问题也许很多人都遇到过了,在百度能搜到很多遇到相同问题的人,但解决办法都是一个(下面是载自其他网页):

问题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. 类似百度输入框自动完成

    1.前台代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="InputAu ...

  2. 输入框自动联想功能demo

    思路: 简单来看,是创建一个输入框,然后给输入框绑定事件.当事件触发后,在输入框的正下方生成一个临时的选择列表.选中列表后,将数据回写到输入框,列表消失. 下面是从网上找的两种实现方式的demo,至于 ...

  3. 仿百度,谷歌输入框自动提示功能

    大家使用百度谷歌的时候都会有输入自动提示的功能,心血来潮自己用Ajax模拟了一个,和大家分享分享. 下面让我们先看下效果: 输入自动提示 键盘上下移动选取 鼠标选取同样支持   支持中文匹配   JS ...

  4. js输入框的联想功能

       问题:最近最近公司要搞一个弹框页面上显示一个输入框,并且可以联想出具体的地铁站名称,功能类似于百度效果,对于这个功能自己写一套,感觉还是自己技术不够,所以找了很久,终于发现一个可以支持中文联想功 ...

  5. 五笔新手,打开搜狗五笔输入法自动联想功能

    刚学五笔,打字堪称龟速,打开联想功能能方便点. 打开 输入法"设置属性" -> 高级-> 使用词语联想. 这只是暂时 ,不太好用.  等熟悉了就好了.

  6. 如何解决IDEA中输入sout,psvm后没有自动联想功能的问题。

    File ----> Setting 选中Live Templates 搜索sout和psvm 注意左下角: 当然你的电脑上的显示会与我不同,但是你只要知道,这里的作用是限制"sout ...

  7. 模拟百度搜索框自动联想功能,原生js+jsonp轻松搞定

    链接 下面是我闲暇时总结的JS.CSS.算法总结,欢迎大家点赞.star-- 有趣实用的CSS效果 前端博客 传送门 LeetCode个人题解 传送门 讲解如何利用百度接口仿写一个搜索联想词功能 效果 ...

  8. PHP实现类似百度搜索自动完成(代码简单)

    一.效果图: 二.HTML代码 <html lang="en"> <head><meta charset="utf-8">& ...

  9. 一个通用的ajax程序(实现像百度一样自动提示功能)

    1.jsp+javabean实现ajax (1),<script type="text/javascript"> String.prototype.trim=funct ...

最新文章

  1. [Zjoi2015]诸神眷顾的幻想乡
  2. (0034) iOS 开发之UIView动画(过渡效果)
  3. Python操作Excel(将父子级表头生成树状结构)
  4. LeetCode Maximum Depth of Binary Tree
  5. 中大计算机研究生英语免修条件,通知|关于接受2017级理科研究生 基础英语课程免修免考申请的通知...
  6. Linux执行yum不显示时间,Linux停的yum命令详解(朝花夕拾)
  7. ubuntu安装npm(npm install)时报错:run `npm audit fix` to fix them, or `npm audit` for details
  8. python3 split()函数
  9. ubuntu上安装nodejs
  10. mbot编程机器人怎么连接蓝牙_台式机蓝牙怎么连接
  11. oracle11g服务配置,oracle11g dg broker配置服务的高可用
  12. Android计分器课程设计,比赛计分器课程设计.doc
  13. linux如何卸载anaconda
  14. PID调节规律各自的特点
  15. unity5(一)unity5新特性 unity下载与安装
  16. windows无法格式化u盘_Windows系统提示U盘无法完成格式化的解决方法
  17. C语言去掉字符串首尾空格,C语言实现去除字符串首尾空格
  18. 又一个程序猿的奋斗史——第五章 苦逼的宿舍条件
  19. 南邮 OJ 2001 水獭看动漫
  20. 【图文并茂】在线一键重装win7系统详细教程

热门文章

  1. 一篇搞懂大数据Lambda架构及实践
  2. P1638 逛画展——尺取法的妙用
  3. mysql数据库建立_Mysql 数据库创建基本步骤
  4. 浅谈图书情报在元宇宙中的定位和发展
  5. Vol . 2 游戏音乐的制作流程
  6. Xshell 6、Xftp 6、Xmanager 6 免费版下载
  7. 数学中最神奇的常数-无理数e
  8. QTranslate翻译工具
  9. 中小企业在管理中常见的几大问题
  10. 洛谷小书童——凯撒密码——c语言