onfocusout 事件
本章節底部包含更多實例。
定義和用法
onfocusout 事件在元素即將失去焦點時觸發。
提示: onfocusout事件類似於onblur事件。 主要的區別是onblur 事件不支持冒泡。 因此,如果你需要查看元素或其子元素是否獲取焦點,需要使用onfocusout 事件。
提示:雖然Firefox不支持onfocusout事件,但你可以通過使用onfocus (使用addEventListener()方法的可選參數useCapture )的捕獲監聽事件來查看元素或其子元素是否失去焦點。
提示: onfocusout事件的相反事件為onfocusin事件。
瀏覽器支持
事件 | |||||
---|---|---|---|---|---|
onfocusout | Yes | Yes | 不支持 | Yes | Yes |
注意:在Chrome, Safari和Opera 15+瀏覽器中使用HTML DOM語法的onfocusin事件可能無法正常工作。 但是,他作為一個HTML 元素,通過使用addEventListener() 方法可以正常工作。
語法
HTML 中:
<elementonfocusout="myScript"> 嘗試一下
JavaScript (Chrome, Safari 和Opera 15+ 可能無法正常工作) 中:
object .onfocusout=function(){myScript}; 嘗試一下
JavaScript 中, 使用addEventListener() 方法:
object .addEventListener("focusout", myScript ); 嘗試一下
注意: Internet Explorer 8及更早IE版本不支持addEventListener()方法。
技術細節
是否支持冒泡: | Yes |
---|---|
是否可以取消: | No |
事件類型: | FocusEvent |
支持的HTML 標籤: | 所有HTML 元素,除了: <base>, <bdo>, <br>, <head>, <html>, <iframe>, <meta>, <param>, <script>, <style>, 和<title> |
更多實例
實例
使用"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>
<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>
嘗試一下»
實例
事件委託:使用focusout 事件( Firefox 瀏覽器不支持):
<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>
<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>
嘗試一下»