苹果手机输入中文不会触发onkeyup事件

今天同事的项目有这个问题,用我的安卓手机输入中文是ok的,但是苹果手机就不行

使用keyup事件检测文本框内容:

 $(‘#keyup_i‘).bind(‘keyup‘, function(){

        $(‘#keyup_s‘).text($(this).val()); 

}

本来是上面这种处理方式,现在改成下面这样就ok了

使用oninput以及onpropertychange事件检测文本框内容:

 //先判断浏览器是不是万恶的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());

      }) 

时间: 2024-10-03 06:38:25

苹果手机输入中文不会触发onkeyup事件的相关文章

中文输入法不触发onkeyup事件的解决办法

参考: http://www.cnblogs.com/xcsn/p/3413074.html http://www.soso.io/article/21182.html 最近做一个输入框只能输入有两位小数点的小数,当时监听的是keyup事件,当输入法改为中文,然后按enter键,这样还是能输入其他的字符(火狐没有这个问题,谷歌里有这个问题),后来百度下才知道原因,具体参考以上两个网址. 修改前写法: <input type="text" name="inputorp_i

解决js中文输入法无法触发onkeyup事件问题(转)

当监听一个input的keyup的事件的时候,英文输入法的情况下可以实时的通过keyup事件检测到文本框value的变化,但是当输入法变成中文后,input的keyup事件就不会被正常触发. oninput是firefox下面可用,而onpropertychange则是ie下可用.两个方法有着一些区别. oninput只能检测到value这个属性的变化,而onpropertychange则可以检测到包含value的所有属性的变化.于是开始改成这个样子.  使用oninput以及onpropert

IOS自带输入法中文不触发KEYUP事件导致vue双向绑定错误问题

先上图: 可以看到输入框中的内容和弹出框的内容不一致, <input class="am-fr labRight" id="txcode" type="text" placeholder="请输入纳税人识别号" v-model="invBuyer.TaxCode" /> 文本框使用的是vue的v-model双向绑定,在android中是ok的,在IOS上不行, 导致问题出现的原因是IOS自带输入

JS onblur 和 onkeyup事件用法

1.onblur表示失去焦点的时候被调用: 2.onkeyup表示键盘每输入完一个字符之后发生.简单来讲,就是键盘上的按键被放开的时候触发. 例子: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html>    <head>        <title>输入金额DIY-bgy2014-11-22</title>  <script type

react输入框输入中文bug

一般来说,react上我们都会用change事件去处理input的输入,但这样就导致一个问题,在输入中文的时候,我们还没输入完成就会触发change事件,这样显然不是理想状况. 那么,怎么解决这个问题呢?首先,你需要了解3个事件,compositionstart,compositionupdate和compositionend.什么意思呢? compositionstart 要开始输入中文 compositionupdate 插入新字符 compositionend 输入完成 下面是一段代码,可

IOS不触发文本框输入中文的keyup事件

问题描述:IOS不触发文本框输入中文的keyup事件,在输入中文之后需要点击回退按键,才会开始搜索.问题分析:IOS的输入法(不管是第三方还是自带)能检测到英文或者数字的keyup事件,检测不到中文的keyup事件.解决方案:把keyup事件换成[input]和[propertychange]事件. var eventName = (navigator.userAgent.indexOf("MSIE")!=-1) ? "propertychange" :"

即时搜索:对于ios自带输入法输入中文时多次触发input事件的处理

实现移动端的即时搜索的最佳方案,一定是使用input propertychange事件了,但是在ios设备上遇到了问题,使用ios自带输入法输入汉字时,会出现多次触发input事件的情况,一开始可能由于搜索的关键字不得法,没有即时找到合适的方案,后来终于在网上找到了解决方案,现记录如下: 代码实现 /** * @param flag: 用于标记是否是非直接的文字输入 */ var flag = false; $('#id').on({ 'compositionstart': function()

js 控制文本框只能输入中文、英文、数字等

总而言之:先在<input>里输入onkeyup="value=value.replace(/[^\X]/g,'')" 然后在(/[\X]/g,'')里的X换成你想输入的代码就可以了,中文u4E00-u9FA5,数字0-9,英文a-z\A-Z,其它符号@.点或其它符号.也可以多个,用\隔开就行了. 例如:中英文 + 数字 + @符号 + 点符号   \a-\z\A-\Z0-9\u4E00-\u9FA5\@\. 若想在文本框里不能右键弹出菜单和不能粘贴进复制的信息的话 就要在

DICOM:剖析Orthanc中的Web Server,Mongoose之“连接请求触发的事件序列”(二)

背景: Orthanc是本专栏中介绍过的一款新型DICOM服务器,具有轻量级.支持REST的特性,可将任意运行Windows和Linux系统的计算机变成DICOM服务器,即miniPACS.Orthanc内嵌多种模块,数据库管理简单,且不依赖于第三方软件.因此通过剖析Orthanc源码可以学习到搭建DICOM系统中的各个环节,例如SQLite嵌入型数据库.GoogleLog日志库.DCMTK医学DICOM库,以及近期要介绍的开源Web Server,Mongoose. 题记: 近期计划参照官网剖