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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。