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()方法。 -
-
更多例子
使用“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 事件