2013-08-07 31 views
2

我們在Android 3.22上運行PhoneGap 2.6(同時jquery mobile和backbone也在混合使用)。我們希望這樣做,用戶可以在輸入字段中的值後點擊輸入鍵以提交表單。該字段是數字輸入。在PhoneGap的數字鍵盤上啓用回車鍵

<input id="myfield" type="number"> 

不幸的是,軟鍵盤上的輸入按鈕似乎被禁用。所以當你點擊它時,不會發生任何事件。以下任何一項工作都不是:

$('#myfield').on('keyup', keyhandler); 
$('#myfield').on('keydown', keyhandler); 
$('#myfield').on('keypress', keyhandler); 
$('#myfield').keyup(keyhandler); 
$('#myfield').keydown(keyhandler); 
$('#myfield').keypress(keyhandler); 

keyhandler: function(e) { 
    console.log('You tapped a key'); 
    if (e.keyCode == 13) { 
     console.log('You tapped ENTER! Yay!'); 
    } 
} 

有沒有辦法在數字鍵盤上啓用輸入按鈕?

+0

向我們展示了'keyHandler'函數。 – krishgopinath

+0

您是否找到解決方案?我一直在看同樣的問題,它看起來好像數字字段自動將Go按鈕切換到下一個按鈕,由於某種奇怪的原因,它不會觸發任何keydown,keyup或按鍵事件。我發現這[回答nr 2](http://stackoverflow.com/questions/6545086/html-why-does-android-browser-show-go-instead-of-next-in-keyboard),但沒有得到它工作。 – jedimorten

+0

我們從未找到解決方案。如果我們想讓其中一個事件觸發,我們必須退出使用數字小鍵盤。 – Rusty

回答

2

不知道這是否與您的問題有關......但您可以模擬表單提交類似於當您通過數字鍵盤上的「下一步」按鈕單擊「開始」時發生的情況。您可以通過在JQuery的使用以下綁定檢測下鍵盤按:

$('input').on('keydown', function(e){ 
    if(e.which === 9) { 
     //your code here 
    } 
}); 

「下一步」按鈕,模擬鍵盤上的按鍵選項卡事件,這是關鍵的代碼9.不幸的是,按鍵和KeyUp事件不檢測下一個關鍵事件,所以你需要在keydown上綁定它。