onblurイベント
例
ユーザーが入力フィールドを離れたときにJavaScriptを実行します。
<input type="text" onblur="myFunction()">
以下の「自分で試してみてください」の例をもっと見てください。
定義と使用法
onblurイベントは、オブジェクトがフォーカスを失ったときに発生します。
onblurイベントは、ほとんどの場合、フォーム検証コードで使用されます(たとえば、ユーザーがフォームフィールドを離れるとき)。
ヒント: onblurイベントは、 onfocusイベントの反対です。
ヒント: onblurイベントは、 onfocusoutイベントに似ています。主な違いは、onblurイベントがバブルしないことです。したがって、要素またはその子がフォーカスを失ったかどうかを確認したい場合は、onfocusoutイベントを使用できます。ただし、これは 、onblurイベントのaddEventListener()メソッドのオプションのuseCaptureパラメーターを使用して実現できます。
ブラウザのサポート
Event | |||||
---|---|---|---|---|---|
onblur | Yes | Yes | Yes | Yes | Yes |
構文
HTMLの場合:
<element onblur="myScript">
JavaScriptの場合:
object.onblur = function(){myScript};
JavaScriptでは、addEventListener()メソッドを使用します。
object.addEventListener("blur", myScript);
注: addEventListener ()メソッドは、Internet Explorer8以前のバージョンではサポートされていません。
技術的な詳細
泡: | 番号 |
---|---|
キャンセル可能: | 番号 |
イベントタイプ: | FocusEvent |
サポートされているHTMLタグ: | <base>、<bdo>、<br>、<head>、<html>、<iframe>、<meta>、<param>、<script>、<style>、および<title>を除くすべてのHTML要素 |
DOMバージョン: | レベル2のイベント |
その他の例
例
「onblur」を「onfocus」イベントと一緒に使用する:
<input type="text" onfocus="focusFunction()" onblur="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イベントの使用(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>