제이쿼리에서는 부모를 지정한 다음 이벤트 발생 시 그 하위 태그가 지정된 셀렉터와 일치하면 발생시키는 기능으로,
Ajax 등의 동적으로 바뀐 컨텐츠에도 대응이 가능하고 성능도 좋다고 알려져 있습니다.
그렇다면 이 스크립트의 원리는 무엇인가요?
간단합니다. 부모에게 이벤트를 줍니다. 그리고 이벤트 핸들러를 아래와 같이 만듭니다.
function clickEventDelegate(e){
var e = e || window.event; //이벤트 객체를 받아냅니다.
var target = e.target || e.srcElement; //이벤트가 발생시킨 원래 요소를 가져옵니다.
if(target.nodeName == 'LI'){ //발생시킨 요소가 <li> 태그이면
childEventHandler.call(target, e); //해당 이벤트를 실행합니다.
}
}
여기서 한가지 주의해야 할 점이 있습니다.
이벤트를 발생시킨 요소에 이벤트가 있을 때,
return false; 반환하거나, event.stopPropagation() 메소드 또는 event.cancelBubble = true; 를 실행하면
자식에서 부모에게 이벤트를 전달하지 않게 되기 때문에
부모에서 캡쳐하지 못합니다. 이는 제이쿼리라도 마찬가지입니다.
게시글 목록
| 번호 | 제목 |
|---|---|
| 12413 | |
| 12412 | |
| 12411 |
JavaScript
실시간 카운트 다운 시계 입니다.
|
| 12410 |
jQuery
jQuery, 이미지맵 마우스오버시 하이라이트 표시
|
| 12407 | |
| 12406 | |
| 12405 | |
| 12404 |
JavaScript
한번만 submit 되게 하기 입니다.
|
| 12403 |
JavaScript
영문자나 숫자만 입력 할 수 있게 하기 입니다.
|
| 12402 |
JavaScript
현재 페이지 이메일로 보내는 버튼 만들기 입니다.
|
| 12401 |
JavaScript
모바일웹에서 PC버전 링크
|
| 12400 |
JavaScript
특정 파일형태만 업로드 하기 입니다.
|
| 12399 |
JavaScript
입력 문자열 앞에 붙는 공백 제거하기 입니다.
|
| 12398 |
JavaScript
키보드 방향키로 창의 위치를 이동시키기 입니다.
|
| 12397 | |
| 12396 | |
| 12395 |
JavaScript
키보드 눌러 이동하는 단축키 사용하기 입니다.
|
| 12394 |
JavaScript
책장을 넘기는 것같은 이미지 슬라이드 쇼 입니다.
|
| 12393 |
JavaScript
마우스를 대면 링크 이미지들을 보여주기 입니다.
|
| 12392 |
PHP
pushbullet 푸시 발송
|
| 12391 |
MySQL
같은 컬럼의 행들을 한번에 UPDATE 하기
|
| 12390 |
JavaScript
이미지들을 보여주는 풀다운 콤보메뉴 입니다.
|
| 12389 |
JavaScript
부드럽게 오버랩되는 이미지 슬라이드 쇼 입니다.
|
| 12388 |
JavaScript
끊김없이 연속적으로 스크롤 되는 이미지 스크롤러 입니다.
|
| 12387 |
PHP
php 주요 정리 입니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기