页面中有文本框和多行文本框,输入框唤起时,点击左右上角执行异步事件时需要先收起键盘;
1、考虑 document.getElementById(id).blur();
2、 在事件中先执行 window.scrollTo(0, 0.8); 然后再执行
3、代码较多:
//判断是否为苹果 var isIPHONE = navigator.userAgent.toUpperCase().indexOf('IPHONE')!= -1; // 元素失去焦点隐藏iphone的软键盘 function objBlur(id,time){ if(typeof id != 'string') throw new Error('objBlur()参数错误'); var obj = document.getElementById(id), time = time || 300, docTouchend = function(event){ if(event.target!= obj){ setTimeout(function(){
obj.blur(); document.removeEventListener('touchend', docTouchend,false); },time); } }; if(obj){ obj.addEventListener('focus', function(){ document.addEventListener('touchend', docTouchend,false); },false); }else{ throw new Error('objBlur()没有找到元素'); } } if(isIPHONE){ var input = new objBlur('input'); input=null; }