input.focus()在IOS上失效的解决方法
之前在iphone上做开发时遇到一个问题,在一般的正常浏览器上输入以下代码:
var apple = document.getElementById('abc');
apple.focus();
就能将焦点聚集在输入框上;但是在ios上不行
解决方案1:
只有通过绑定在事件上的函数触发,才能聚焦,例如:
var apple = document.getElementById('abc');
button.addEventListener('click',function(){
apple.focus();
});
但是不能将apple.focus()
封装在函数中再由事件触发,这样也会失效
解决方案2:
input必须有父层,父层必须有触发硬件加速的属性,如果有translate的偏移 就更容易触发。
父层的父层也有硬件加速且有偏移,几乎就是100%触发
手机阅读请扫描下方二维码:
大神,解决方案2,有木有参考代码,我写了一个貌似没起到作用,能否聚焦后弹出键盘呢
1
555
555
1
1
555
555
1
1
1
1
1
1
1
1
1
1
1
555
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
555
1
1
1
1
1
1
1
1
1
555
1
1
1
555
1
555
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1