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。 

猜你喜欢

转载自www.cnblogs.com/feixiablog/p/10247889.html
今日推荐