项目总结之ios手机中input框中粘贴短信验证码keyup事件无效

在项目中遇到这样一个问题,在ios手机上粘贴短信验证码后底部的按钮不亮了,然后看了一下代码,我用的监听事件是keyup事件,当用户输入时进行监听。但是直接粘贴进来就不生效了,确实挺不友好的。那怎么解决这个问题呢?于是我在网上查了一下,是这样说的—keyup在ios手机原生的输入法是不支持的,但是在ios端第三方的输入法搜狗输入法是支持的,为了兼容性,不能使用keyup事件。那怎么办呢?有两种解决方案:使用input框的input事件和change事件 这两个方法是可以监听到的。这两种方法的具体分析和区别如下:

1.change事件
input输入框的onchange事件,要在 input 失去焦点的时候才会触发;
在输入框内容变化的时候不会触发change,当鼠标在其他地方点一下才会触发;
onchange 事件也可用于单选框与复选框改变后触发的事件。
onchange event 所有主要浏览器都支持;
onchange 属性可以使用于:<input>, <select>, 和 <textarea>。

2.input事件
oninput 事件在用户输入时触发,它是在元素值发生变化时立即触发;
该事件在 <input> 或 <textarea> 元素的值发生改变时触发。
缺陷:从脚本中修改值不会触发事件。从浏览器下拉提示框里选取值时不会触发。IE9 以下不支持,所以IE9以下可用onpropertychange 事件代替。

发布了130 篇原创文章 · 获赞 103 · 访问量 26万+

猜你喜欢

转载自blog.csdn.net/xiaolinlife/article/details/90477430