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