关闭输入法

2018-09-06  本文已影响0人  指尖的宇宙

关闭表单元素中的输入法是很常见的需求,比如输入E-mail、
网址时用的都是英文字母,此时关闭输入法可以防止用户输入错误。
目前主流的禁用(关闭)技术是利用CSS的特殊属性,还有就是JavaScript的事件文本过滤技术。
下面分别讲解这两种方案

    植入CSS特殊属性这种方案有一个弊端,就是不支持Chrome浏览器,
    但是其他主流浏览器(如IE、FireFox等)都支持。创建一个函数banInputMethod()
<h2>关闭输入法</h2>
<input type='text' id='banInputMethodgoogle' value='不支持谷歌浏览器'>
      //关闭输入法
      function banInputMethod(_elementArr) {
        var arr = _elementArr;      // 待处理的所有节点元素
        var self = this;
        // 使用instanceof判断参数是否为数组,如果不是数组,将参数修改为数组,
        // 方便后边代码统一处理。instanceof用于判断一个值是否为某个对象的实例
        if (!(_elementArr instanceof Array)) {
          arr = [_elementArr];
        };
        for (var i = 0, arrLen = arr.length; i < arrLen; i++) { //遍历元素节点
          var arrI = arr[i];
          arrI.onfocus = function () {
            //样式方案,只兼容除了Chrome浏览器之外的浏览器
            this.style.imeMode = 'disabled';
          }
        }
      }

      banInputMethod(getElement("banInputMethodgoogle"));
      function getElement(eStr) {      //根据ID获取指定对象
        return document.getElementById(eStr);
      }
上一篇 下一篇

猜你喜欢

热点阅读