HTML DOM removeEventListener()メソッド
❮要素オブジェクト例
addEventListener()メソッドでアタッチされた「mousemove」イベントを削除します。
// Attach an event handler to <div>
document.getElementById("myDIV").addEventListener("mousemove", myFunction);
// Remove the event handler from <div>
document.getElementById("myDIV").removeEventListener("mousemove", myFunction);
定義と使用法
removeEventListener()メソッドは、addEventListener() メソッドでアタッチされたイベントハンドラーを削除します。
注:イベントハンドラーを削除するには、addEventListener()メソッドで指定された関数は、上記の例(myFunction)のように外部関数である必要があります。
" element .removeEventListener(" event "、function(){ myScript });"などの匿名関数 動作しないでしょう。
ブラウザのサポート
表の数字は、このメソッドを完全にサポートする最初のブラウザバージョンを示しています。
Method | |||||
---|---|---|---|---|---|
removeEventListener() | 1.0 | 9.0 | 1.0 | 1.0 | 7.0 |
構文
element.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()メソッドを使用できます。
この例は、クロスブラウザーソリューションを示しています。
var x = document.getElementById("myDIV");
if (x.removeEventListener) { // For all major browsers, except IE 8 and earlier
x.removeEventListener("mousemove", myFunction);
} else if (x.detachEvent) { // For IE 8 and earlier versions
x.detachEvent("onmousemove", myFunction);
}
関連ページ
JavaScriptチュートリアル:HTML DOM EventListener
JavaScriptリファレンス:document.removeEventListener()
❮要素オブジェクト