FireFox中Element.focus()方法无效的解决方法

来源:互联网 发布:java输出倒九九乘法表 编辑:程序博客网 时间:2024/06/07 14:01

在页面上我们经常会用javascript来对某个域值做验证。一旦验证未通过就会使用focus方法让该域重新聚焦。但在FF下,直接调用focus方法却无法使当前域重新聚焦,而是将焦点移到下一个对象上。

我们可以用延迟的调用focus的方法来解决这一问题。如:

    function js_onNumBlur(evt,flag){
        var srcElem = window.event?event.srcElement:evt.target;
        if(""!=srcElem.value && !js_validateNum(flag,srcElem.value)){
            alert("Please use the correct format.");
            window.setTimeout("document.getElementById('"+srcElem.id+"').focus()",50);
            srcElem.select();           
        }
    }