【问题标题】:.focus() onblur not working in Mozilla [duplicate].focus() onblur 在 Mozilla 中不起作用 [重复]
【发布时间】:2014-10-16 14:18:33
【问题描述】:

我有一个文本框,我试图在其中在触发模糊事件时聚焦,如下所示:

<input type='text' onblur="$(this).focus()"/>

这在 Chrome 和 IE 中完美运行,但在 Mozilla 中失败。

我该如何解决这个问题?

这是Problem

【问题讨论】:

  • 请不要使用&lt;kbd&gt;标签来装饰你的超链接。
  • 我很确定当输入仍然有焦点但失去焦点时会调用 onblur 。 Firefox 的行为在我看来就像预期的行为。

标签: javascript jquery focus onblur


【解决方案1】:

引入一个计时器以确保您的代码在与触发“模糊”事件的事件循环不同的事件循环中运行:

document.getElementsByTagName("input")[0].addEventListener("blur", function() {
    var element = this;
    setTimeout(function() {
        element.focus();
    }, 1);
}, true);

Forked fiddle.

【讨论】:

    【解决方案2】:

    尝试使用它。 形式,

        <form>
            Name: <input type='text' name='name'></input>
        </form>
    

    jQuery

    $(document).ready(function(){
       setupForms();
    });
    
    function setupForms(){
        $('input').focus(function(){
            $(this).css('outline-color', '#FF0000');
        });
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-03
      • 1970-01-01
      • 2023-03-31
      • 2015-08-15
      • 1970-01-01
      相关资源
      最近更新 更多