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。
留言
張貼留言