2012-08-16 73 views
1

我有一個奇怪的問題:如何在提交表單時防止iPad鍵盤死機?

我有一個搜索,當我在iPad上提交時,不會隱藏鍵盤,但它會停止它,直到搜索結果加載。

因此,只要我按下鍵盤上的輸入鍵,iPad就會隨着打開的鍵盤而死,只有當搜索結束時,鍵盤纔會隱藏,結果開始apprearing。

現在我的腳本正在監聽change事件以觸發功能,例如問題中的搜索表單,這可能是問題所在。

問:
是否有一個代碼適合所有的設備的方式來觸發一個表單提交,所以我的鍵盤先消失,然後開始搜索?

感謝您的意見!

編輯:
我的按鈕:

<input type="text" value="" id="searchField" data-type="search" placeholder="Suche" class="ui-input-text ui-body-c"> 

我的腳本處理它:

$('#searchField').keypress(function(e){ 
    if(e.which == 13){ 

     $('#searchField').trigger('blur'); 
     loadMulti("yes"); 
     return false; 
     } 
    }); 

嗯。我想整個事情....不是很好。

+0

您的更改事件處理程序是否返回布爾值或有任何其他副作用? – Dai 2012-08-16 18:29:35

+0

@TobyAllen:done – frequent 2012-08-16 21:05:15

回答

1

據我所知,ipad鍵盤消失自動模糊。沒有發佈代碼,但我的猜測是在查詢完成後腳本模糊。

+0

隨着'模糊'ofcourse我的意思是JavaScript/jquery事件 – 2012-08-16 18:32:30

+0

,所以我必須綁定到iPad上的'模糊'? MH。 – frequent 2012-08-16 18:38:41

+0

這取決於。如果結果是ajax加載(如谷歌),而你輸入你應該綁定到keyup,因爲那麼你不希望你的鍵盤消失。 – 2012-08-16 18:43:07

1

好醇setTimout節省了一天:

window.setTimeout(function(){ 
    loadMulti("yes"); 
    },10); 

這似乎觸發一個Ajax表單提交真的攤上整個頁面,因爲我有我的模糊觸發,以及從內loadMulti激活了我的加載微調,這激發我的Ajax表單提交。兩個人都沒有出現,所以我最終想到爲什麼不設置超時設置,鍵盤隱藏,然後觸發該功能。

Works ...甚至5ms。