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

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

분류 제목
HTML_CSS JQ - insertBefore() 메서드 - 선택요소 앞에 요소삽입/요소추가. (= insertBefore…
HTML_CSS JQ - offset() 메서드 ★ - 오프셋 (=xy좌표) 설정/반환. (= offset메서드 = 오프셋메…
HTML_CSS JQ - outerHeight() 메서드 - 요소 높이 반환 (height + padding + border…
HTML_CSS JQ - outerWidth() 메서드 - 요소 너비 반환 (※ padding, border 둘다 포함) (…
HTML_CSS JQ - position() 메서드 - 부모요소 기준으로 요소 위치 반환 (= position메서드 = 포지…
HTML_CSS JQ - prepend() 메서드 - 선택요소 안 시작부분에 내용 삽입 (= prepend메서드 = 프리펜드…
HTML_CSS JQ - prependTo() 메서드 - 선택요소 시작부분에 HTML 요소삽입 (= prependTo메서드 …
HTML_CSS JQ - prop() 메서드 - 속성과 속성값 설정/반환. (= prop메서드 = 프랍메서드 = 프롭메서드)…
HTML_CSS JQ - remove() 메서드 - 선택요소 제거 (= remove메서드 = 리무브 메서드)
HTML_CSS JQ - removeAttr() 메서드 - 1개 이상의 속성 제거 (= removeAttr메서드 = 리무브어…
HTML_CSS JQ - removeClass() 메서드 ★ - 클래스 제거 (= removeClass메서드 = 리무브클래스…
HTML_CSS JQ - removeProp() 메서드 - prop() 메서드로 설정된 속성 제거. (= removeProp…
HTML_CSS JQ - replaceAll() 메서드 - 선택요소를 새 HTML 요소로 대체 (= replaceAll메서드…
HTML_CSS JQ - replaceWith() 메서드 ★ - 선택요소 내용를 새 내용으로 대체/변경 (= replaceW…
HTML_CSS JQ - scrollLeft() 메서드 - 선택요소 가로 스크롤바 위치 설정/반환 (= scrollLeft메…
HTML_CSS JQ - scrollTop() 메서드 ★ - 선택요소 세로 스크롤바 위치 설정/반환 (= scrollTop메…
HTML_CSS JQ - text() 메서드 - 선택요소 텍스트 내용설정/내뇽변경/내용반환. (= text메서드 = 텍스트메…
HTML_CSS JQ - toggleClass() 메서드 ★★★ - 클래스추가/제거 상호전환. (= toggleClass메서…
HTML_CSS JQ - unwrap() 메서드 - 부모요소 제거 (= unwrap메서드 = 언랩 메서드)
HTML_CSS JQ - val() 메서드 ★★★ - value속성 값설정/값반환 (= val메서드 = 밸메서드) ※ 밸류메…
10/15
목록
찾아주셔서 감사합니다. Since 2012