H5移动端页面点击input重复弹出键盘的实现方法
本文主要和大家分享h5移动端页面加入canvas可滑动代码条件下android手机点击input重复弹出键盘,在移动端页面使用canvas的动画,为了实现动画的触摸滑动,会加入createjs.touch.enable(stage, true, false)这条语句,但加入这条语句后,页面的input和click等可点击事件都会失效,所以会用触摸事件来实现相关功能,如下:
$('#button').on('touchstart', function() { window.location.href = 'xx.html'})
触摸事件控制焦点的获取来使input键盘弹出:
$('#input').on('touchstart', function() { $(this).focus()})
然而苹果手机键盘关闭后input焦点自动失去,再次点击键盘弹出无异常,安卓手机键盘关闭input还是获取焦点状态,故键盘无法重复弹出。本想在关闭键盘的事件上加个失去焦点的行为,但查过资料无法找到这个事件,所以另辟奇径,找到了另一种办法:每次点击input都会删除原来的input并且生成新的input放在这里,这样新的input又可以获取焦点并弹出键盘了,实现代码如下:
html代码:
<button></button><p> <input></p>
js代码:
$('#btn').on('touchstart', function() { var value = $('input').val() $('input').remove() $('.box').html('<input>') if(value!=''){ $('input').val(value) } $('input').focus()})