在移動端頁面使用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() })