banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

[CSS]瀏覽器IME輸入法控制禁止輸入中文

通常的 HTML 開發過程中 text 類型 input 控件禁止輸入中文控制一般通過 js 來實現,通過判定使用者輸入的文本的字符編碼的範圍來選擇是否被輸入到控件來實現。 在 CSS3.0 下可以直接使用樣式來控制輸入控件的輸入法設置,通過設置物件樣式的 ime-mode 即可,可選設定值為: auto:不影響 IME 的狀態。 active:指定所有使用 ime 輸入的字符。即啟動本地語言輸入法。使用者仍可以撤銷啟動 ime inactive:指定所有不使用 ime 輸入的字符。即啟動非本地語言。使用者仍可以撤銷啟動 ime disabled:完全禁用 ime。對於有焦點的控件 (如輸入框),使用者不可以啟動 ime normal:正常的 IME 狀態。(IE 不支援,不推薦選用)

示例程式碼:

/*Chrome Safari*/
-webkit-ime-mode: auto | active | inactive | disabled
/*Mozilla Firefox*/
-moz-ime-mode: auto | active | inactive | disabled
/*Opera*/
-o-ime-mode: auto | active | inactive | disabled
/*Internet Explorer*/
-ms-ime-mode: auto | active | inactive | disabled
/*CSS3 Standard*/
ime-mode: auto | active | inactive | disabled

不過貌似以上方法在 Chrome 30.0.1599.69 m 下已經失效了,所以目前只能結合 js 來手動進行控制,建議開發時考慮以下方法

//\u4e00-\u9fa5 為中文的編碼範圍

如果是手機 HTML5 APP 開發可以使用下面的方法

參考網址: http://stackoverflow.com/questions/15520410/disable-ime-mode-google-chrome

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。