在无线侧实现搜索显示smartbox功能的时候,会对输入框绑定keydown、keyup、keypress事件,从而在检测到输入框的值发生改变时,发出请求拉取smartbox的内容。
但是,在iPhone 3gs上测试发现输入框不响应这几个事件,我们的解决办法是设置一个定时器,每隔100ms检测输入框的值是否发生了改变,如果改变了,就请求cgi拉取数据。这个办法参考了百度应用搜索功能的实现方式。
公司内部一篇关于移动web开发的分享,讲到可以用html5的input事件去代替keyup:
domInput.addEventListener('input', function(){alert(domInput.value)})
每当有输入时,这个事件就会被触发。先记录下来,有空验证一下。