Firefox中input元素,不能重新获取焦点函数focus()

js校验输入框的函数:

function is_number(feild) {
    var strRegExp = /^\d+(\.\d{1,2})?$/;
    if (!strRegExp.test(feild.value)) {
        alert("请输入有效的数字,小数点后最多只能输入两位!");
        feild.focus();
        return false;
    }
}

 

元素获取焦点函数focus(),在IE中正常,Firefox中却不起作用

 

解决方案:

window.setTimeout(function () { document.getElementById('id').focus();}, 0); 

setTimeout是指在载入后延迟指定时间后执行前面的表达式,当然在这里是延迟0ms之后执行function。 

 

posted @ 2019-01-10 08:28  心无引擎,眼无流派  阅读(297)  评论(0编辑  收藏  举报