方案一:
//测试了一下,chrome和firefox测试了一下似乎都不支持,只有ie6—ie11都可以。
<input type=”text” id=”banInputMethodgoogle” value=”不支持” />
// 关闭输入法
function banInputMethod (_elementArr){
var arr = _elementArr, //待处理的所有节点元素
self = this;
// 判断元素是否为数组,如果不是数组将其变成数组
if(!(_elementArr instanceof Array)){
arr = [_elementArr];
};
for (var i = 0,arrLen =arr.length ;i<arrLen;i++){
var arrl = arr[i];
console.log(arrl)
arrl.onfocus = function(){
// 样式方案,之间荣除了chrome 浏览器之外的浏览器
this.style.imeMode = ‘disabled’;
console.log(33)
}
}
}
banInputMethod(getElement(‘banInputMethodgoogle’));
function getElement(eStr){
return document.getElementById(eStr);
}
方案二:
<!– chrome –>
<input type=”text” banInputMethod = ‘1’ id=”banInputMethod” value=”支持主流浏览器”>
var arr = [
//创建节点数组
document.getElementById(‘banInputMethodgoogle’),
document.getElementById(‘banInputMethod’)
]
self = this;
for(var i = 0 ,arrLen = arr.length ; i<arrLen ; i++){
//遍历待处理的节点对象
var arrl = arr[i];
arrl.onfocus = function(){ //获取焦点事件
this.style.imeMode = ‘disabled’; //不兼容chrome
}
var banInputMethod = arrl.getAttribute(‘banInputMethod’); //获取banInputMethod 属性
if(banInputMethod){ //判断是否存在banInputMethod
var clearChinese = function (_this){
var _v = _this.value;
_this.value = _v.replace(/[\u4e00-\u9fa5]/g,”); //正则替换中文字符
}
arrl.onkeyup = function (){
clearChinese(this);
console.log(444)
}
arrl.onblur = function (){
clearChinese(this);
console.log(8888)
}
}
}