1. 程式人生 > >Firefox中input元素,不能重新獲取焦點函式focus()

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。