• 회원가입
  • 로그인
  • 구글아이디로 로그인

[Event] JQ - off() 메서드 ★ - on() 메서드로 부착된 이벤트핸들러 제거 (= off메서드 = 오프메서드)

목차
  1. off() 예제 - on() 메서드로 부착한 이벤트핸들러 제거
  2. off() 정의
  3. off() 구문
  4. off() 예제1 - p요소에 on()메서드로 부착된 모든 click 이벤트 제거
  5. off() 예제2 - p요소에 on()메서드로 부착된 특정이벤트 제거
  6. off() 예제3 - event객체 사용해 이벤트핸들러 제거. (= 특정 횟수 후 이벤트제거)

 

off() 예제 - on() 메서드로 부착한 이벤트핸들러 제거

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>

$(document).ready(function(){

  $("p").on("click", function(){

    $(this).css("background", "yellow");

  });

  $("button").click(function(){

    $("p").off("click");

  });

});

</script>


<p>홈짱닷컴 Homzzang.com</p>

<p>글씨 클릭하면 색상 바뀜. (버튼 누르면 안 바뀜)</p>


<button>클릭</button>


결과보기

 

off() 정의

 

on() 메소드로 첨부된 이벤트핸들러 제거하는 데 가장 자주 사용 .

 


 

1.

jQuery 1.7 -  unbind(), die(), undelegate() 메소드를 모두 대체.

2.

이 메서드 사용 권장.
(∵ API에 많은 일관성 제공해 jQ 코드베이스 단순화 시킴.)


3.

이벤트핸들러 제거하려면, 반드시 on() 메소드에 전달된 것과 완전 일치 요함. 


4.

한 번만 실행 후 스스로 제거되는 이벤트 첨부하려면, one() 메소드 사용.

 

 

off() 구문

 

$(selector).off(event,selector,function(eventObj),map)

 


[매개변수]

 

event

필수. 선택요소에서 제거할 하나 이상의 event 또는 namespace 지정.

이벤트 값은 공백으로 구분. 유효한 이벤트여야 함.

 

selector

선택. 이벤트핸들러 첨부할 때 원래 on() 메소드에 전달된 것과 일치하는 이벤트선택자. 

 

function(eventObj)

선택. 이벤트가 발생할 때 실행할 함수.

 

map

요소에 첨부할 하나 이상의 이벤트와 이벤트 발생시 실행할 함수를 포함하는 이벤트 맵
(예) {event : function, event : function, ...}

 

 

off() 예제1 - p요소에 on()메서드로 부착된 모든 click 이벤트 제거

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>

function changeSize() {

  $(this).animate({fontSize: "+=3px"});

}


function changeSpacing() {

  $(this).animate({letterSpacing: "+=2px"});

}


$(document).ready(function(){

  $("body").on("click", "p",changeSize);

  $("body").on("click", "p", changeSpacing);

  $("button").click(function(){

    $("body").off("click", "p");

  });

});

</script>


<p>홈짱닷컴 Homzzang.com</p>

<p>글자 클릭하면 글자크기 및 간격 바뀜. (버튼 클릭 시 안 바뀜.)</p>


<button>클릭</button>

 

결과보기

 

off() 예제2 - p요소에 on()메서드로 부착된 특정이벤트 제거

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>

function changeSize() {

  $(this).animate({fontSize: "+=10px"});

}


function changeSpacing() {

  $(this).animate({letterSpacing: "+=5px"});

}

  

$(document).ready(function(){

  $("p").on("click", changeSize);

  $("p").on("click", changeSpacing);

  $("button").click(function(){

    $("p").off("click", changeSize);

  });

});

</script>


<p>홈짱닷컴 Homzzang.com</p>

<p>글자 클릭하면 글자크기 및 간격 바뀜. (버튼 클릭 시 클자크기는 안 바뀜.)</p>


<button>클릭</button>

 

결과보기

 

off() 예제3 - event객체 사용해 이벤트핸들러 제거. (= 특정 횟수 후 이벤트제거)

 

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>

<script>

$(document).ready(function(){

  var x = 0;

  $("p").click(function(event){

    $("p").animate({fontSize: "+=5px"

  });

  x++;

  if (x >= 2) {

    $(this).off(event);

  }

  });

});

</script>


<p>홈짱닷컴 Homzzang.com</p>

<p>글자 클릭 2번까지만 이벤트 적용. 클릭 3번 이상 시 이벤트 제거</p>

 

결과보기

 

방문 감사합니다. (즐겨찾기 등록: Ctrl + D)

분류 제목
Event JQ - event.timeStamp 속성 - 이벤트 촉발 시간 반환/확인. (= 이벤트.타임스탬프 속성)
Event JQ - event.type 속성 - 촉발된 이벤트 (유형/타입/종류) 반환. (= 이벤트.타입 속성)
Event JQ - event.which 속성 ★ - 이벤트 일으킨 (키보드키/마우스버튼) 번호 반환/확인. (= 이벤…
Event JQ - focus() 메서드 ★★ - 포커스 될 때 이벤트 발생. (= focus 메서드 = 포커스 메서…
Event JQ - focusin() 메서드 ★★ - 해당요소(또는 자식요소) 포커스 될 때 이벤트 발생. (= foc…
Event JQ - focusout() 메서드 ★★ - 해당요소(또는 자식요소) 포커스 잃을 때 이벤트 발생. (= f…
Event JQ - keydown() 메서드 - 키보드키 내려갈 때 이벤트 발생. (= keydown메서드 = 키다운 …
Event JQ - keypress() 메서드 - 키보드키 눌렸을 때 이벤트 발생. (= keypress메서드 = 키프…
Event JQ - keyup() 메서드 - 키보드키 올라갈 때 이벤트 실행 (= keyup메서드 = 키업 메서드) ※…
Event JQ - live() 메서드 - JQ 1.9 폐기완료. on() 메서드로 대체. / 여러 이벤트 부착. …
Event JQ - load() 메서드 - JQ 3.0 폐기완료. / 요소 로드 이벤트 부착. (= load메서드 = …
Event JQ - mousemove() 메서드 - 마우스커서 이동 이벤트 부착. (= mousemove메서드 = 마우…
Event JQ - mouseout() 메서드 - 마우스커서 이탈 이벤트 부착. (= mouseout메서드 = 마우스아…
Event JQ - mouseover() 메서드 - 마우스오버이벤트 (= mouseover이벤트 = mouseover…
Event JQ - off() 메서드 ★ - on() 메서드로 부착된 이벤트핸들러 제거 (= off메서드 = 오프메서드…
Event JQ - one() 메서드 - 요소마다 오직 한번만 이벤트 실행. (= one메서드 = 원메서드) ※ 현재값…
Event JQ - $.proxy() 메서드 - 기존 함수를 가져와 특정 구문을 가진 새 함수로 반환. (= proxy…
Event JQ - ready() 메서드 - DOM이 완전 로드 시 실행할 함수 지정. (= ready메서드 = 레디 …
Event JQ - resize() 메서드 - 창크기변경이벤트 (= 윈도우창 리사이즈이벤트 = resize메서드 = 리…
Event JQ - scroll() 메서드 ★★★ - 스크롤 이벤트를 부착/촉발 (jquery, scroll, even…
7/15
목록
찾아주셔서 감사합니다. Since 2012