做一個踏實,持續努力的程式設計師
阿新 • • 發佈:2019-01-26
<input>禁止鍵盤及中文輸入,但又不能用readonly 而且還需相容ie 和 ff , 為了完成這功能費了蠻大功夫,呵呵,在此記錄以便日後之用;
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <script> // 樣式 style="ime-mode:disabled" 禁止中文輸入 function noPermitInput(e){ var evt = window.event || e ; if(isIE()){ evt.returnValue=false; //ie 禁止鍵盤輸入 }else{ evt.preventDefault(); //fire fox 禁止鍵盤輸入 } } function isIE() { if (window.navigator.userAgent.toLowerCase().indexOf("msie") >= 1) return true; else return false; } </script> </HEAD> <BODY> 禁止鍵盤按鍵輸入及中文輸入 <input type="text" value="" style="ime-mode:disabled" onkeypress="noPermitInput(event)" > </BODY> </HTML>
關於樣式 ime-mode,網上查詢如下:
ime-mode CSS提議屬性
語法:
ime-mode : auto | active | inactive | disabled
引數:
auto
: 不影響IME的狀態。與不指定ime-mode屬性時相同
active
: 指定所有使用IME輸入的字元。即啟用本地語言輸入法。使用者仍可以撤銷啟用IME
inactive
: 指定所有不使用IME輸入的字元。即啟用非本地語言。使用者仍可以撤銷啟用IME
disabled
: 完全禁用IME。對於有焦點的控制元件(如輸入框),使用者不可以啟用IME
說明:
設定或檢索是否允許使用者啟用輸入中文,韓文,日文等的輸入法(IME)狀態。
對應的指令碼特性為imeMode。
示例:
<input type=text style='ime-mode: disabled; '>