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