JavaScript HTML DOM onfocusout 事件

  • onfocusout 事件

    当元素即将失去焦点时,会发生onfocusout事件。
    提示onfocusout事件类似于onblur事件。主要区别在于onblur事件不会冒泡。因此,如果要查明元素或其子元素是否失去焦点,则应使用onfocusout事件。
    提示: 虽然Firefox不支持onfocusout事件,但您可以通过使用onblur事件的捕获侦听器(使用addEventListener()方法的可选useCapture参数)来确定元素的子元素是否失去焦点。
    提示onfocusout事件与onfocusin事件相反 。
    当输入字段即将失去焦点时执行JavaScript:
    <input type="text" onfocusout="myFunction()">
    尝试一下
  • 浏览器支持

    IE/Edge Chrome FireFox Safari Opera
    事件
    onfocusout
    支持
    支持
    52.0+
    支持
    支持
    注意:使用JavaScript HTML DOM语法,onfocusout事件在Chrome,Safari和Opera 15+中可能 无法正常工作。但是,它应该作为HTML属性并使用addEventListener()方法(请参阅下面的语法示例)。
  • 语法

    在HTML中:
    <element onfocusout="myScript">
    在JavaScript中:
    object.onfocusout = function(){myScript};
    在JavaScript中,使用addEventListener()方法:
    object.addEventListener("focusout", myScript);
    注意:在Internet Explorer 8和更早版本不支持使用addEventListener()方法。
  • 技术细节

    项目 描述
    冒泡:
    取消: 没有
    事件类型: FocusEvent
    支持的HTML标记: 所有HTML元素,除了:<base><bdo><br><head><html><iframe><meta><param><script><style><title>
    DOM版本 DOM Event Level 2
  • 更多例子

    使用“onfocusin”和“onfocusout”事件:
    <input type="text" onfocusin="focusFunction()" onfocusout="blurFunction()">
    尝试一下
    事件委托:将addEventListener()的useCapture参数设置为true(用于焦点和模糊):
    <form id="myForm">
      <input type="text" id="myInput">
    </form>
    
    <script>
    var x = document.getElementById("myForm");
    x.addEventListener("focus", myFocusFunction, true);
    x.addEventListener("blur", myBlurFunction, true);
    
    function myFocusFunction() {
      document.getElementById("myInput").style.backgroundColor = "yellow"; 
    }
    
    function myBlurFunction() {
      document.getElementById("myInput").style.backgroundColor = ""; 
    }
    </script>
    尝试一下
    事件委托:使用focusin事件:
    <form id="myForm">
      <input type="text" id="myInput">
    </form>
    
    <script>
    var x = document.getElementById("myForm");
    x.addEventListener("focusin", myFocusFunction);
    x.addEventListener("focusout", myBlurFunction);
    
    function myFocusFunction() {
      document.getElementById("myInput").style.backgroundColor = "yellow"; 
    }
    
    function myBlurFunction() {
      document.getElementById("myInput").style.backgroundColor = ""; 
    }
    </script>
    尝试一下
  • 相关页面

    HTML DOM 参考:onblur 事件