detachEvent method
Removes the specified event handler from the current element that was registered earlier with the attachEvent method.
To remove an event listener that was registered with the addEventListener method, use the removeEventListener method.
Syntax:
You can find the related objects in the Supported by objects section below.
Parameters:
Required. String that specifies the name of the event that is listened by the event handler. For a complete list of events, see the page for Events in JavaScript. This parameter is not case sensitive. |
|||||||
Required. Reference to the event handler function to remove. |
Return value:
This method has no return value.
Example HTML code 1:
This example illustrates the use of the detachEvent and removeEventListener methods:
|
||||
<head> <script type="text/javascript"> function OnRedClick () { alert ("A click event has occurred on the red button."); } function AddEventHandler () { var redButton = document.getElementById ("redButton"); if (redButton.addEventListener) { // all browsers except IE before version 9 redButton.addEventListener ("click", OnRedClick, false); } else { if (redButton.attachEvent) { // IE before version 9 redButton.attachEvent ('onclick', OnRedClick); } } } function RemoveEventHandler () { var redButton = document.getElementById ("redButton"); if (redButton.removeEventListener) { // all browsers except IE before version 9 redButton.removeEventListener ("click", OnRedClick, false); } else { if (redButton.detachEvent) { // IE before version 9 redButton.detachEvent ('onclick', OnRedClick); } } } </script> </head> <body> Click on the red button when the 'click' event has a listener and when it does not.<br /> <button onclick="AddEventHandler ();">Add a 'click' event listener to the red button</button> <button onclick="RemoveEventHandler ();">Remove the event listener</button> <br /><br /> <button id="redButton" style="background-color:red">Red button</button> </body> |
||||
|
||||
Did you find this example helpful?
|
Example HTML code 2:
This example shows how to detect when the user presses a mouse button over an element but releases the button outside the element:
|
||||
<head> <script type="text/javascript"> var capturedButton = null; function OnButtonDown (button) { capturedButton = button; if (window.addEventListener) { // all browsers except IE before version 9 window.addEventListener ("mouseup", OnButtonUp, true); } else { if (button.setCapture) { // IE before version 9 button.attachEvent ("onlosecapture", OnButtonLoseCapture); button.setCapture (); } } } function OnButtonUp () { if (capturedButton) { if (window.removeEventListener) { // all browsers except IE before version 9 window.removeEventListener ("mouseup", OnButtonUp, true); } else { if (capturedButton.releaseCapture) { // IE before version 9 capturedButton.detachEvent ("onlosecapture", OnButtonLoseCapture); capturedButton.releaseCapture (); } } capturedButton = null; } alert ("The button has been released!"); } function OnButtonLoseCapture () { alert ("The button loses the mouse capture!"); OnButtonUp (); } function Init () { var button = document.getElementById ("testButton"); if (button.addEventListener) { // all browsers except IE before version 9 button.addEventListener ("mousedown", function () {OnButtonDown (button)}, false); } else { if (button.attachEvent) { // IE before version 9 button.attachEvent ("onmousedown", function () {OnButtonDown (button)}); button.attachEvent ("onmouseup", OnButtonUp); } } } </script> </head> <body onload="Init ()"> Press the following button and release the mouse button somewhere inside or outside the browser. <br /> <button id="testButton">Capture Test</button> </body> |
||||
|
||||
Did you find this example helpful?
|
Example HTML code 3:
This example implements a simple spin control:
|
||||
<head> <script type="text/javascript"> var capturedButton = null; var changeTimer = 0; function ChangeInput (increase, delay) { var myInput = document.getElementById ("myInput"); // parse the current value var value = Number (myInput.value); if (isNaN (value)) { value = 0; } // direction var dir = increase ? 1 : -1; // the new value var step = 1; value += dir * step; if (value < 0) { value = 0; } if (value > 100) { value = 100; } myInput.value = value; changeTimer = setTimeout (function () {ChangeInput (increase, 100)}, delay); } function OnButtonDown (button, increase) { // capture mouse up capturedButton = button; if (window.addEventListener) { // all browsers except IE before version 9 window.addEventListener ("mouseup", OnButtonUp, true); } else { if (button.setCapture) { // IE before version 9 button.attachEvent ("onlosecapture", OnButtonLoseCapture); button.setCapture (); } } // initialy a longer delay ChangeInput (increase, 500); } function OnButtonUp () { if (changeTimer) { clearTimeout (changeTimer); changeTimer = 0; } if (capturedButton) { if (window.removeEventListener) { // all browsers except IE before version 9 window.removeEventListener ("mouseup", OnButtonUp, true); } else { if (capturedButton.releaseCapture) { // IE before version 9 capturedButton.detachEvent ("onlosecapture", OnButtonLoseCapture); capturedButton.releaseCapture (); } } capturedButton = null; } } function OnButtonLoseCapture () { OnButtonUp (); } function Init () { var incButton = document.getElementById ("incButton"); var decButton = document.getElementById ("decButton"); if (incButton.addEventListener) { // all browsers except IE before version 9 incButton.addEventListener ("mousedown", function () {OnButtonDown (incButton, true)}, false); decButton.addEventListener ("mousedown", function () {OnButtonDown (decButton, false)}, false); } else { if (incButton.attachEvent) { // IE before version 9 incButton.attachEvent ("onmousedown", function () {OnButtonDown (incButton, true)}); decButton.attachEvent ("onmousedown", function () {OnButtonDown (decButton, false)}); incButton.attachEvent ("onmouseup", OnButtonUp); decButton.attachEvent ("onmouseup", OnButtonUp); } } } </script> </head> <body onload="Init ()"> <input id="myInput" size="3" value="50" /> <button id="incButton">Increase</button> <button id="decButton">Decrease</button> </body> |
||||
|
||||
Did you find this example helpful?
|
Supported by objects:
CommentNode, document, namespace, TextNode, window, XMLDocument
HTML elements:
a, abbr, acronym, address, applet, area, b, base, basefont, bdo, bgsound, big, blink, blockquote, body, br, button, caption, center, cite, code, col, colgroup, comment, dd, del, dfn, dir, div, dl, dt, em, embed, fieldset, font, form, frame, frameset, h1, h2, h3, h4, h5, h6, head, hr, html, i, iframe, img, input:button, input:checkbox, input:file, input:hidden, input:image, input:password, input:radio, input:range, input:reset, input:submit, input:text, ins, isindex, kbd, keygen, label, legend, li, link, listing, map, marquee, menu, meta, nobr, noframes, noscript, object, ol, optgroup, option, p, param, plaintext, pre, q, rt, ruby, s, samp, script, select, small, span, strike, strong, style, sub, sup, table, tbody, td, textarea, tfoot, th, thead, title, tr, tt, u, ul, var, wbr, xml, xmp
Related pages:
External links:
User Contributed Comments