HTML DOMドキュメントremoveEventListener()
例
addEventListener()メソッドでアタッチされた「mousemove」イベントを削除します。
// Attach an event handler to the document
document.addEventListener("mousemove", myFunction);
// Remove the event handler from the document
document.removeEventListener("mousemove", myFunction);
以下の「自分で試してみてください」の例をもっと見てください。
定義と使用法
document.removeEventListener()メソッドは、 document.addEventListener()メソッドでアタッチされたイベントハンドラーを削除し ます。
注:イベントハンドラーを削除するには、addEventListener()メソッドで指定された関数は、上記の例(myFunction)のように、外部の「名前付き」関数である必要があります。
"document.removeEventListener(" event "、function(){ myScript });"などの匿名関数 動作しないでしょう。
ヒント: 要素.addEventListener()および 要素.removeEventListener()メソッドを使用 して、指定された要素との間でイベントハンドラーを追加/削除します。
構文
document.removeEventListener(event, function, useCapture)
パラメータ値
Parameter | Description |
---|---|
event | Required. A String that specifies the name of the event to remove. Note: Do not use the "on" prefix. For example, use "click" instead of "onclick". Tip: For a list of all HTML DOM events, look at our complete HTML DOM Event Object Reference. |
function | Required. Specifies the function to remove. |
useCapture |
Optional. A Boolean value that specifies the event phase
to remove the event handler from. Possible values:
|
技術的な詳細
DOMバージョン: | DOMレベル2イベント |
---|---|
戻り値: | 戻り値なし |
変更ログ: | useCaptureパラメーターはFirefox6およびOpera12.0でオプションになりました(Chrome、IE、Safariでは常にオプションでした) |
その他の例
例
removeEventListener()メソッドをサポートしていないブラウザーの場合は、detachEvent()メソッドを使用できます。
この例は、クロスブラウザーソリューションを示しています。
if (document.removeEventListener) { // For all major browsers, except IE 8 and earlier
document.removeEventListener("mousemove", myFunction);
} else if (document.detachEvent) { // For IE 8 and earlier versions
document.detachEvent("onmousemove", myFunction);
}
関連ページ
JavaScriptチュートリアル:HTML DOM EventListener
JavaScriptリファレンス:element .removeEventListener()
ブラウザのサポート
document.removeEventListener()
DOMレベル2(2001)の機能です。
すべてのブラウザで完全にサポートされています。
Chrome | IE | Edge | Firefox | Safari | Opera |
Yes | 9-11 | Yes | Yes | Yes | Yes |