[jQuery] bind/unbind, on/off

2021. 1. 25. 14:31카테고리 없음

728x90

bind / unbind
: bind는 특정이벤트를 바인딩하고 unbind는 bind함수로 바인딩한 이전에 연결된 이벤트 핸들러 요소를 제거

on / off
: jQuery1.7부터는 on/off 함수로 대체됨


$(“#reqBtn”).unbind();
: 요소의 모든 이벤트 바인딩을 해제(종류에 상관없이 핸들러 제거)

$(“#reqBtn”).unbind(“click”);
: click이벤트 타입을 명시함으로써 오직 해당하는 이벤트 타입만 제거(만일 같은 요소에 같은 이벤트가 바인딩되어 있었다면 그것마저도 모두 제거됨)

var handler = function(){ alert(“hello”); });
$(“#reqBtn”).bind(“click”, handler);
$(“#reqBtn”).unbind(“click”, handler);
: 핸들러명을 적어줌으로써 다른 함수가 삭제되지 않을 수 있도록 해줌

$(“#reqBtn”).bind(“click”, function({
alert(“hello”); });
$(“#reqBtn”).unbind(“click”, function({
alert(“hello”); });
: 두 함수는 작동할 것 같아보이지만, 별도로 생성되고 javascript에서는 별개의 함수로 유지되게 됨.

*특정핸들러의 바인딩 해제를 위해서는 그 함수를 바로 참조해야함. 같은 일을 발생시키는 다른 함수를 참조해서는 안됨.

$(“#reqBtn”).bind(“click.myEvents”, handler);
$(“#reqBtn”).unbind(“click”);
: 일반적인 방법의 바인딩 해제
$(“#reqBtn”).unbind(“click.myEvents”);
: 다른 요소에 영향을 주지 않도록 네임스페이스 지정바인딩 해제
$(“#reqBtn”).unbind(“.myEvents”);
: 다른 요소에 영향을 주지 않도록 네임스페이스 지정바인딩 해제






참고 : https://findfun.tistory.com/327

728x90