鍍金池/ 問答/HTML5  Android  HTML/ Android手機(jī)頁面中點(diǎn)擊input后關(guān)閉鍵盤光標(biāo)還在?

Android手機(jī)頁面中點(diǎn)擊input后關(guān)閉鍵盤光標(biāo)還在?

1、ios系統(tǒng)點(diǎn)擊input鍵盤彈出獲取焦點(diǎn),關(guān)閉鍵盤后自動失去焦點(diǎn),然后下次點(diǎn)擊還會彈鍵盤
2、Android系統(tǒng)點(diǎn)input鍵盤彈出獲取焦點(diǎn),關(guān)閉鍵盤后光標(biāo)還在焦點(diǎn)未失去,再次點(diǎn)擊不會彈鍵盤
問題:我怎么能把安卓手機(jī)的input做的跟ios的一樣?

代碼:

<input type="text" maxlength="4" id="input"/>
$('#input').on('touchstart', function() {
    $(this).focus()
})

本來想在關(guān)閉鍵盤的事件里放一個(gè)blur()事件,結(jié)果發(fā)現(xiàn)找不到關(guān)閉鍵盤的事件。
很惆悵,求大神幫幫忙!


ps:頁面中的canvas有條createjs.Touch.enable(stage, true, false)語句,所以inputclick都不好用了..

回答
編輯回答
撿肥皂

寫個(gè)按鈕定位在input的上面,點(diǎn)擊按鈕使input的獲取焦點(diǎn)獲取input的值并移除input添加新的input標(biāo)簽,再根據(jù)判斷附上獲取的值,再次獲取焦點(diǎn)。

html代碼:
<button id="btn"></button>
<div class="box">
    <input type="text" maxlength="4" id="hengpi"/>
</div>
js代碼:
$('#btn').on('touchstart', function() {
    $('input').focus()
    var value = $('input').val()
    $('input').remove()
    $('.box').html('<input type="text" maxlength="4"/>')
    if(value!=''){
        $('input').val(value)
    }
    $('input').focus()
})
2017年3月31日 04:09