EventTarget.removeEventListener()
Baseline
Widely available
This feature is well established and works across many devices and browser versions. Itâs been available across browsers since 2015ë 7ì.
EventTarget ì¸í°íì´ì¤ì EventTarget.removeEventListener() ë©ìëë EventTarget.addEventListener()ë¡ ì´ë²¤í¸ ëìì ë±ë¡í ìì 기를 ì ê±°í©ëë¤. ì ê±° ëì ìì 기ì ìë³ì ì´ë²¤í¸ ì í, ìì 기 í¨ì 참조, ê·¸ë¦¬ê³ ìë³ì ê´ë ¨ë ë¤ìí ìµì
ì ì¬ì©í´ ì´ë¤ì§ëë¤. ì ê±°í ì´ë²¤í¸ ìì 기ì ìë³ì ì°¸ê³ íì¸ì.
removeEventListener()를 í¸ì¶í ë, EventTargetì ë±ë¡ë ì´ë²¤í¸ ìì 기 ì¤ ì´ë ê²ìë ì¼ì¹íì§ ìë 매ê°ë³ì를 ì¬ì©íë©´ ì무 í¨ê³¼ë ëíëì§ ììµëë¤.
EventTargetì ì´ë ìì 기 ì¤ íëê° ì´ë²¤í¸ë¥¼ ì²ë¦¬íë ì¤ì ë¤ë¥¸ ìì 기를 ì ê±°í ê²½ì°, ì ê±°ë ì´ë²¤í¸ ìì 기ë íì¬ ì´ë²¤í¸ì ëí´ ë°ëíì§ ììµëë¤. ê·¸ë¬ë ë¤ì ë¶ì°©í ìë ììµëë¤.
ê²½ê³ :
ê°ì ìì 기를 ë¤ë¥¸ ìº¡ì² íëê·¸ ê°ì¼ë¡ ë ë², ì¦ í ë²ì capture íë그를 ì§ì íê³ í ë²ì ì§ì íì§ ìì ì± ë¶ì°©íë ê²½ì° ê°ê° ë°ë¡ë°ë¡ ì ê±°í´ì¼ í©ëë¤. ìº¡ì² íë그를 ì§ì í ìì 기ì ì ê±°ë ë¹ ìº¡ì² ìì 기ì ìí¥ì ì£¼ì§ ìê³ , ê·¸ ë°ëë ë§ì°¬ê°ì§ì
ëë¤.
addEventListener()ì AbortSignalì ì§ì í í, ëì¤ì abort()를 í¸ì¶í´ì ìì 기를 ì ê±°íë ë°©ë²ë ììµëë¤.
구문
removeEventListener(type, listener);
removeEventListener(type, listener, options);
removeEventListener(type, listener, useCapture);
매ê°ë³ì
type-
ì´ë²¤í¸ ìì 기를 ì ê±°í ì´ë²¤í¸ ì íì ëë¤.
listener-
ì´ë²¤í¸ ëììì ì ê±°í ìì 기
EventListenerí¨ìì ëë¤. optionsOptional-
ì ê±°í ì´ë²¤í¸ ìì 기ì í¹ì§ì ëíë´ë ìµì ê°ì²´ì ëë¤.
ê°ë¥í ìµì ì ë¤ìê³¼ ê°ìµëë¤.
capture: ì ê±°íEventListenerê° ìº¡ì²ë§ ìì ê¸°ë¡ ë±ë¡ëëì§ì ëí ì¬ë¶ë¥¼ ëíë´ë ë¶ë¦¬ì¸ ê°ì ëë¤. 기본 ê°ìfalseì ëë¤.
useCaptureOptional-
ì ê±°í
EventListenerê° ìº¡ì²ë§ ìì ê¸°ë¡ ë±ë¡ëëì§ì ëí ì¬ë¶ë¥¼ ëíë´ë ë¶ë¦¬ì¸ ê°ì ëë¤. 기본 ê°ìfalseì ëë¤.
ë°í ê°
ìì.
ì ê±°í ì´ë²¤í¸ ìì 기ì ìë³
addEventListener()ë¡ ì´ë²¤í¸ ìì 기를 ì¶ê°íë¤ë©´, ìì 기를 ì ê±°í´ì¼ í ëê° ì¤ê¸°ë í©ëë¤. ë¹ì°í ì¶ê°í ë ì§ì í ê²ê³¼ ê°ì type ë° listener를 removeEventListener()ì 매ê°ë³ìë¡ ì§ì í´ì¼ íê² ì§ë§, optionsë useCapture 매ê°ë³ìë ì´ë»ê² í´ì¼ í ê¹ì?
addEventListener()ë ìµì
ì´ ë¤ë¥´ë¤ë©´ ì´ë²¤í¸ ì í íëì ê°ì ìì 기를 ì¬ë¬ ë² ë¶ì°©í©ëë¤. ê·¸ë¬ë removeEventListener()ê° ê³ ë ¤íë ìµì
ì capture/useCapture íëê·¸ ë¨ íëì
ëë¤. ë°ë¼ì capture/useCapture ê°ì ì¼ì¹í´ì¼ íì§ë§, ëë¨¸ì§ ìµì
ì ì¼ì¹íì§ ììë ë©ëë¤.
ë¤ìì addEventListener() í¸ì¶ì ììë¡ ë³´ê² ìµëë¤.
element.addEventListener("mousedown", handleMouseDown, true);
ì´ì ìëì ë removeEventListener() í¸ì¶ì ì´í´ë³´ì¸ì.
element.removeEventListener("mousedown", handleMouseDown, false); // ì¤í¨
element.removeEventListener("mousedown", handleMouseDown, true); // ì±ê³µ
첫 ë²ì§¸ í¸ì¶ì useCaptureê° ì¼ì¹íì§ ìì기 ë문ì ì¤í¨íê³ , ë ë²ì§¸ í¸ì¶ì ì¼ì¹í기 ë문ì ì±ê³µí©ëë¤.
ì´ì ë¤ì ì½ë를 íì¸íì¸ì.
element.addEventListener("mousedown", handleMouseDown, { passive: true });
ì ì½ëììë passive를 trueë¡ ì§ì í option ê°ì²´ë¥¼ ì§ì íìµëë¤. ë¤ë¥¸ ìµì
ì 기본 ê°ì¸ falseê° ë©ëë¤.
ìëì removeEventListener() í¸ì¶ ê°ê°ì ì´í´ë³´ì¸ì. captureë useCaptureê° trueì¸ í¸ì¶ì ì¤í¨íê³ , ë머ì§ë 모ë ì±ê³µí©ëë¤.
removeEventListener()ì ìí¥ì 주ë ìµì
ì capture ë¿ì
ëë¤.
element.removeEventListener("mousedown", handleMouseDown, { passive: true }); // ì±ê³µ
element.removeEventListener("mousedown", handleMouseDown, { capture: false }); // ì±ê³µ
element.removeEventListener("mousedown", handleMouseDown, { capture: true }); // ì¤í¨
element.removeEventListener("mousedown", handleMouseDown, { passive: false }); // ì±ê³µ
element.removeEventListener("mousedown", handleMouseDown, false); // ì±ê³µ
element.removeEventListener("mousedown", handleMouseDown, true); // ì¤í¨
ë¤ë§ ì¼ë¶ ë¸ë¼ì°ì ë²ì ììë ì´ ëìì´ ì¼ê´ì ì´ì§ ìì¼ë¯ë¡, ì´ì© ì ìë ê²½ì°ê° ìëë¼ë©´ addEventListener()ì ì§ì í ìµì
ì ê·¸ëë¡ removeEventListener()ì ì ê³µíë í¸ì´ ë«ìµëë¤.
ìì
ì´ ìì ë click ì´ë²¤í¸ ìì 기를 ì ê±°íë mouseover ì´ë²¤í¸ ìì 기를 ë³´ì
ëë¤.
const body = document.querySelector("body");
const clickTarget = document.getElementById("click-target");
const mouseOverTarget = document.getElementById("mouse-over-target");
let toggle = false;
function makeBackgroundYellow() {
if (toggle) {
body.style.backgroundColor = "white";
} else {
body.style.backgroundColor = "yellow";
}
toggle = !toggle;
}
clickTarget.addEventListener("click", makeBackgroundYellow, false);
mouseOverTarget.addEventListener("mouseover", function () {
clickTarget.removeEventListener("click", makeBackgroundYellow, false);
});
ëª ì¸
| Specification |
|---|
| DOM > # ref-for-dom-eventtarget-removeeventlistenerâ¡ > |