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

[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)

분류 제목
basic JQ - 제이쿼리 입문
basic JQ - 선행지식 / 포함요소
basic JQ - 시작 (= 버전 + 다운 + 설치 + 외부링크) (jQuery, down, CDN)
basic JQ - syntax ★ - 기본구문 (= 최적작동시점) + (즉시호출/즉시작동/즉시실행) 구문 (= IIF… 2
Selector JQ - selector ★★★★★ - 선택자 (= 제어할 요소선택) ※ this선택자 (=디스선택자)
Event JQ - event ★ - 이벤트 (= 메서드실행 촉발사건) ※ e 매개변수를 명시적으로 전달해야 하는 이유
Event JQ - $(document).ready() 메서드 ★ - 문서로드완료후 실행 (= ready메서드 = 다…
Event JQ - click() 메서드 ★ - click 이벤트발생/함수실행. (= click메서드 = 클릭 메서드…
Event JQ - dblclick() 메서드 ★ - dblclick 이벤트발생/함수실행. (= dblclick메서드 …
Event JQ - mouseenter() 메서드 ★★★ - mouseenter 이벤트발생/함수실행. (= mousee…
Event JQ - mouseleave() 메서드 ★ - mouseleave 이벤트발생/함수실행 (= mouseleav…
Event JQ - mousedown() 메서드 - mousedown 이벤트발생/함수실행. (= mousedown메서…
Event JQ - mouseup() 메서드 - mouseup 이벤트발생/함수실행. (= mouseup메서드 = 마우스…
Event JQ - hover() 메서드 ★ - hover 이벤트발생/함수실행. (= hover메서드 = 허버 메서드)
Event JQ - blur() 메서드 ★ - 포커스 해제/제거(= blur메서드 = 블러메서드) ※ 포커스 시 아웃…
Event JQ - on() 메서드 ★★★★★ - 이벤트핸들러 부착 (= 여러이벤트・여러메서드 함께실행 = 이벤트부착…
Effect JQ - Hide/Show - hide() / show() / toggle() 메서드 ★ - 숨기기/보이기…
Effect JQ - Fade (페이드) ★ - fadeIn() / fadeOut() / fadeToggle() / fa…
Effect JQ - slideDown() / slideUp() / slideToggle() 메서드 ★ - 슬라이드메서드…
1/15
목록
찾아주셔서 감사합니다. Since 2012