作为当时小系统的开发兼职测试,作为我们三个人中唯一的一颗苹果,我没用原生的输入法….这个bug出现的时候,又是一脸懵逼…..竟整这些幺蛾子…..
情况说明:实时搜索 监听input的值 然后实时拽接口拉数据
这看似完美的流程,在iPhone原生输入法下出错了?没发出去?!
嗯,就是没发出去。
bug!!!
解决方案:input propertychange
下面这些属于转载内容 帮助理解keyup keydown change等
做搜索功能的时候,经常遇到输入框检查的需求,最常见的是即时搜索,今天好好小结一下。
工作中遇到的情景:即时搜索的方案:
(1)change事件 触发事件必须满足两个条件:
a)当前对象属性改变,并且是由键盘或鼠标事件激发的(脚本触发无效)
b)当前对象失去焦点(onblur)
(2)keypress 恩,还好。。。。。就是能监听键盘事件,鼠标复制黏贴操作他就无能为力的赶脚了。。。。。
(3)propertychange(ie)和input事件
input是标准的浏览器事件,一般应用于input元素,当input的value发生变化就会发生,无论是键盘输入还是鼠标黏贴的改变都能及时监听到变化
propertychange,只要当前对象属性发生改变。
比如一个input输入文字后出现下拉框,如图:
当输入框里面内容为空时,下拉框要隐藏,可以通过input和propertychange方法实现,代码如下:
<script>
$("#search").bind("input propertychange",function(){
var value=$(this).val();
if(value){
$(".pc_search ul").show();
}else{
$(".pc_search ul").hide();
}
});
</script>
这里bind同时绑定了input和propertychange两个方法