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

[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 - scroll() 메서드 ★★★ - 스크롤 이벤트를 부착/촉발 (jquery, scroll, even…
Event JQ - select() 메서드 - 입력창의 문자열 드래그 선택. (= select이벤트 = 실렉트/셀렉트 …
Event JQ - submit() 메서드 ★ - 폼 입력값 전송 이벤트 촉발/실행함수 지정. (= submit메서드 …
Event JQ - toggle() 메서드 - JQ 1.9 폐기완료. / 여러 클릭 이벤트간 상호전환. (= togg…
Event JQ - trigger() 메서드 ★ - 지정 이벤트 수동 촉발과 이벤트 기본동작 수행. (= 트리거 메서드…
Event JQ - triggerHandler() 메서드 - 지정 이벤트 수동 촉발만 함. (= 트리거핸들러 메서드)
Event JQ - unbind() 메서드 - JQ 3.0 폐기예고, off() 메서드로 대체. 추가된 이벤트핸들러 제…
Event JQ - undelegate() 메서드 - JQ 3.0 폐기예고. off() 메서드로 대체. / 이벤트핸들러…
Event JQ - unload() 메서드 - JQ 3.0 폐기완료. / 페이지 떠날 때 실행. (= 언로드 메서드)
Effect JQ - clearQueue() 메서드 - 선택요소에서 실행 대기 함수 모두 제거/삭제. (= clearQu…
Effect JQ - delay() 메서드 - 실행 대기 함수의 실행을 지연. (= delay메서드 = 딜레이메서드)
Effect JQ - dequeue() 메서드 - 실행 대기 함수를 계속 실행. (= dequeue메서드 = 디큐메서드)
Effect JQ - fadeIn() 메서드 - 선택요소를 천천히 나타나게 하기. (= fadeIn메서드 = 페이드인메서…
Effect JQ - fadeOut() 메서드 - 선택요소를 천천히 사라지게 하기. (= fadeOut메서드 = 페이드아…
Effect JQ - fadeTo() 메서드 - 지정 불투명도로 서서히 변경. (= fadeTo메서드 = 페이드투메서드…
Effect JQ - fadeToggle() 메서드 ★ - fadeIn(), fadeOut() 메서드 상호 전환. (= …
Effect JQ - finish() 메서드 - 모든 실행 함수 중지/제거/완성. (= finish메서드 = 피니시메서드…
Effect JQ - hide() 메서드 - 선택요소 감추기/숨기기/비노출. (= hide메서드 = 하이드메서드)
Effect JQ - queue() 메서드 -실행 대기 함수 개수 표시. (= queue메서드 = 큐메서드)
Effect JQ - show() 메서드 - 선택요소 보이기/보이게하기/노출/나타내기/ = show메서드 = 쇼우메서드)
8/15
목록
찾아주셔서 감사합니다. Since 2012