Android網頁Textbox不彈出鍵盤
有時因為欄位是要用Barcode刷入資料,所以當點到Textbox時希望不要彈出鍵盤。因為是系統特性,所以只能從Javascript下手。
會彈出鍵盤是因為欄位是屬於可編輯欄位,所以只要想辦法把欄位設為唯讀,再利用keypress來讀入輸入的每個字元,組合起來存入欄位,就可以達到我們要的效果。
以下為部份片段程式(這裡使用JQuery),
在一開始先將欄位設定為readonly,但這屬性只能適用textbox,textarea無效。
若使用disabled,他會鎖住欄位,雖不會彈出鍵盤,但無法觸發keypress事件,所以這裡不使用。
$(".NotShowKB").keypress()就是將輸入的每個字元組合起來再寫入Textbox。
會彈出鍵盤是因為欄位是屬於可編輯欄位,所以只要想辦法把欄位設為唯讀,再利用keypress來讀入輸入的每個字元,組合起來存入欄位,就可以達到我們要的效果。
以下為部份片段程式(這裡使用JQuery),
<input type="textbox" class="NotShowKB" id="txtNormal" name="txtNormal" value="" />在要控制的元件上加入class[NotShowKB]
$(document).ready(function(){
$(".NotShowKB").attr("readonly", "readonly");
//$(".NotShowKB").attr("disabled", "true");
$(".NotShowKB").click(function(){
$("#txtNowObj").val($(this).prop("id"));
$(this).css('background-color','yellow');
});
$(".NotShowKB").blur(function(){
$("#txtNowObj").val("");
$(this).css('background-color','transparent');
});
$(".NotShowKB").keypress(function(e){
var fieldVal = $(this).val();
fieldVal = fieldVal + String.fromCharCode(e.which);
$(this).val(fieldVal);
});
});
在一開始先將欄位設定為readonly,但這屬性只能適用textbox,textarea無效。
若使用disabled,他會鎖住欄位,雖不會彈出鍵盤,但無法觸發keypress事件,所以這裡不使用。
$(".NotShowKB").keypress()就是將輸入的每個字元組合起來再寫入Textbox。
留言
張貼留言