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