JavaScript HTML DOM onfocusin 事件

  • onfocusin 事件

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

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

    在HTML中:
    <element onfocusin="myScript">
    在JavaScript中:
    object.onfocusin = function(){myScript};
    在JavaScript中,使用addEventListener()方法:
    object.addEventListener("focusin", 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 参考:onfocus 事件