-
jQuery(off, bind, delegate)jQuery 2020. 5. 4. 12:40
bind(type, data, fn, map) 매치된 요소에 이벤트 처리기를 바인딩한다.
type : 이벤트 종류
data : fn의 파라미터값
diprecated 되어있다.
unbind(type, fn) 매치된 요소에 이벤트 처리기를 제거한다. one(type, data, fn) Bind()와 같지만 이벤트를 한번만 실행하고 자동으로
이벤트를 제거한다.
tigger(type) 매치된 요소에 대하여 이벤트 타입에 해당하는 이벤트
처리기를 모두 실행한다.
이벤트 해제
delegate(selector, type, fn) 매치된 요소에 이벤트처리기를 바인딩
동적으로 작성된 새로운 요소에서도 이벤트실행
undegate 매치된 요소에 이벤트 처리기를 제거 on(type, data, fn, map)
on(type, selector, data, fn, map)
bind방식
delegate 방식
off(event, selector, fn) 매치된 요소에 이벤트처리기를 제거 1) bind()메소드는 선택자로 검색한 모든 엘리먼트에 핸들러를 등록한다
2)$(‘h1’)의 검색 결과가 몇개이는가에 상관없이 문서내의 모든 <h1>엘리먼트에 똑같은 핸들러가 등록 된다
3) 그러나 새로 추가되는 엘리먼트에는 핸들러가 지정되지 않아 이벤트가 발생해도 핸들러가 호출되지 않는다 .
4)미래에 추가될 엘리먼트에 대해서도 핸들러를 미리 등록하는 메서드가 필요
- $(document).delegate(선택자, 이벤트명, 핸들러 );
5) 특정 엘리먼트에 대해 핸들러를 지금 당장 등록하는 것이 아니라
6) 문서가 변경될때마다 핸들러가 등록되어야 하므로 document수준에서 메소드를 호출한다
(document 는 이벤트 대상객체의 부모가 될 수 있다)
7) u이처럼 실행중에 자동으로 등록되는 살아았는 핸들러를 라이브 핸들러 라고 한다 .
8) uversion 3.0에서 모든 이벤트 등록 메소드를 통합하는 메소드가 새로 도입
- on(이벤트명, [선택자], 핸들러) off( 이벤트명, [선택자], 핸들러)
9) 선택자 가 있으면 delegate와 같고 없으면 bind와 같다
delegate는 부모 요소를 $()로 잡아서 하던가 $(document)로 하면된다
새로 생성되는 버튼이 이벤트요소를 가지고 있으려면 delegate를 해줘야 한다.
'jQuery' 카테고리의 다른 글
jQuery( .after() ) (0) 2020.06.23 ajax (기초) (0) 2020.05.06 jQuery(preventDefault()) (0) 2020.05.01 jQuery(hover) (0) 2020.05.01 jQuery(event) (0) 2020.05.01