2013-05-29 51 views
0

我試圖使用.focus()將焦點放在輸入上,然後自動調用鍵盤顯示出來,每當頁面發生變化時。這裏是我的代碼:專注於輸入會導致鍵盤異常動作

的jQuery:

$(questionPage).on("pageshow",function(){ 
    $('input').focus(); 
    }); 

HTML5:

<input type="email" name="text_email" style="padding: 0px; margin: 0px" placeholder=""value="" class="email"'/> ; 

但每次當頁面的變化,鍵盤顯示出來,並立即關閉。任何人有任何想法是什麼造成它?有關如何解決它的任何提示?

+0

你有沒有在短暫的延遲後嘗試聚焦,比如說50ms? – robertc

+0

指定您希望此事件觸發的頁面。 ''pageshow','#pageId',function()' – Omar

+0

@robertc我試過用$('input')。focus()。delay(5000);和setTimeout(function(){$('input')。focus();},5000);不幸的是他們都沒有工作:( – HuaY

回答

0

我已經解決了這個問題。這是因爲這些事件將被多次觸發。根據this information防止多事件綁定/觸發。我用下面的代碼解決了這個問題:

$(questionPage).on("pageshow",function(){ 
    $('textarea').focus(); 
    $('input').focus().delay(5000); 
    event.preventDefault(); 
});