JQuery

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

분류 제목
Selector JQ - :checkbox 선택자 - type="checkbox"인 input 요소 선택 (= 체크박스선택자…
Selector JQ - :submit 선택자 - type="submit"인 input, button 요소 선택. (= 서브…
Selector JQ - :reset 선택자 - type="reset"인 input, button 요소 선택. (= 리셋 선…
Selector JQ - :button 선택자 - type="button"인 input, button 요소 선택. (= 버튼…
Selector JQ - :image 선택자 - type="image"인 input 요소 선택. (= 이미지 선택자)
Selector JQ - :file 선택자 - type="file"인 input 요소 선택. (= 파일 선택자)
Selector JQ - :enabled 선택자 - 활성화 된 요소 선택. (= 인에이블드 선택자)
Selector JQ - :disabled 선택자 - 비활성화 된 요소 선택. (= 디서에이블드 선택자)
Selector JQ - :selected 선택자 - selected="selected"인 요소 선택. (= 실렉티드 선택자…
Selector JQ - :checked 선택자 - $(":checked") - checked="checked"인 모든 체크…
Event JQ - bind() 메서드 - JQ 3.0 폐기예고. / 요소에 이벤트 부착. (= bind메서드 = 바인…
Event JQ - change() 메서드 ★★★ - 입력값 변동/변화 시 이벤트 발생. (= change메서드 = …
Event JQ - delegate() 메서드 - JQ 3.0 폐기예고. / 하위요소(자식요소)에 이벤트핸들러 부착. …
Event JQ - die() 메서드 - JQ 1.7 폐기예고, JQ 1.9 폐기완료. / 이벤트 제거. (= die메…
Event JQ - error() 메서드 - JQ 1.8 폐기예고. JQ 3.0 폐기완료. / 에러 이벤트 촉발 + 에…
7/20
목록
 홈  PC버전 로그인 일본어
웹디자인언어
서버관리언어
고급코딩언어
그누보드
제작의뢰
Q&A
커뮤니티
웹유틸
회원센터
홈짱닷컴 PC버전 로그인