jQuery 의 delegate 흉내내기
제이쿼리에서는 부모를 지정한 다음 이벤트 발생 시 그 하위 태그가 지정된 셀렉터와 일치하면 발생시키는 기능으로,
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; 를 실행하면
자식에서 부모에게 이벤트를 전달하지 않게 되기 때문에
부모에서 캡쳐하지 못합니다. 이는 제이쿼리라도 마찬가지입니다.
댓글 1개
CJack
11년 전
좋은 정보감사합니다.
게시판 목록
프로그램
| 번호 | 제목 | 글쓴이 | 날짜 | 조회 |
|---|---|---|---|---|
| 7030 | 11년 전 | 1405 | ||
| 7029 |
|
11년 전 | 3244 | |
| 7028 |
|
11년 전 | 1141 | |
| 7027 | 11년 전 | 1008 | ||
| 7026 | 11년 전 | 2083 | ||
| 7025 |
어려워요잉
|
11년 전 | 2741 | |
| 7024 | 11년 전 | 2103 | ||
| 7023 | 11년 전 | 3131 | ||
| 7022 |
Shhhh
|
11년 전 | 1526 | |
| 7021 |
|
11년 전 | 3271 | |
| 7020 | 11년 전 | 788 | ||
| 7019 |
막돼먹은영애
|
11년 전 | 1082 | |
| 7018 | 11년 전 | 1956 | ||
| 7017 | 11년 전 | 2321 | ||
| 7016 | 11년 전 | 1025 | ||
| 7015 | 11년 전 | 2825 | ||
| 7014 | 11년 전 | 3030 | ||
| 7013 | 11년 전 | 1518 | ||
| 7012 |
|
11년 전 | 2196 | |
| 7011 | 11년 전 | 1049 | ||
| 7010 | 11년 전 | 1402 | ||
| 7009 |
|
11년 전 | 1072 | |
| 7008 | 11년 전 | 2266 | ||
| 7007 | 11년 전 | 2184 | ||
| 7006 |
|
11년 전 | 1175 | |
| 7005 | 11년 전 | 5307 | ||
| 7004 | 11년 전 | 2357 | ||
| 7003 | 11년 전 | 3070 | ||
| 7002 | 11년 전 | 1917 | ||
| 7001 | 11년 전 | 956 | ||
| 7000 | 11년 전 | 2042 | ||
| 6999 |
|
11년 전 | 2162 | |
| 6998 | 11년 전 | 1876 | ||
| 6997 |
네이비칼라
|
11년 전 | 1490 | |
| 6996 | 11년 전 | 953 | ||
| 6995 |
|
11년 전 | 1852 | |
| 6994 | 11년 전 | 2574 | ||
| 6993 |
kimsdesign
|
11년 전 | 1298 | |
| 6992 |
|
11년 전 | 2773 | |
| 6991 | 11년 전 | 1719 | ||
| 6990 | 11년 전 | 4472 | ||
| 6989 | 11년 전 | 1851 | ||
| 6988 |
네이비컬러
|
11년 전 | 2510 | |
| 6987 | 11년 전 | 3723 | ||
| 6986 |
잘살아보자
|
11년 전 | 1592 | |
| 6985 |
잘살아보자
|
11년 전 | 2467 | |
| 6984 | 11년 전 | 821 | ||
| 6983 |
천재조상훈
|
11년 전 | 1859 | |
| 6982 |
천재조상훈
|
11년 전 | 4495 | |
| 6981 |
천재조상훈
|
11년 전 | 1626 | |
| 6980 |
|
11년 전 | 1878 | |
| 6979 |
|
11년 전 | 755 | |
| 6978 |
잘살아보자
|
11년 전 | 1142 | |
| 6977 |
잘살아보자
|
11년 전 | 1467 | |
| 6976 |
잘살아보자
|
11년 전 | 1575 | |
| 6975 |
천재조상훈
|
11년 전 | 1478 | |
| 6974 |
잘살아보자
|
11년 전 | 2231 | |
| 6973 |
잘살아보자
|
11년 전 | 1154 | |
| 6972 |
잘살아보자
|
11년 전 | 3068 | |
| 6971 |
잘살아보자
|
11년 전 | 3273 | |
| 6970 |
잘살아보자
|
11년 전 | 1842 | |
| 6969 |
잘살아보자
|
11년 전 | 4766 | |
| 6968 | 11년 전 | 9899 | ||
| 6967 |
|
11년 전 | 2636 | |
| 6966 |
|
11년 전 | 1112 | |
| 6965 | 11년 전 | 3256 | ||
| 6964 | 11년 전 | 2583 | ||
| 6963 | 11년 전 | 2100 | ||
| 6962 |
star3840
|
11년 전 | 1015 | |
| 6961 | 11년 전 | 4243 | ||
| 6960 |
|
11년 전 | 722 | |
| 6959 | 11년 전 | 1240 | ||
| 6958 |
|
11년 전 | 1672 | |
| 6957 | 11년 전 | 1891 | ||
| 6956 |
잘살아보자
|
11년 전 | 1851 | |
| 6955 | 11년 전 | 4625 | ||
| 6954 | 11년 전 | 1627 | ||
| 6953 |
잘살아보자
|
11년 전 | 863 | |
| 6952 |
잘살아보자
|
11년 전 | 2044 | |
| 6951 | 11년 전 | 1612 | ||
| 6950 | 11년 전 | 2612 | ||
| 6949 |
잘살아보자
|
11년 전 | 884 | |
| 6948 | 11년 전 | 1553 | ||
| 6947 | 11년 전 | 1465 | ||
| 6946 | 11년 전 | 1604 | ||
| 6945 | 11년 전 | 1229 | ||
| 6944 | 11년 전 | 1187 | ||
| 6943 | 11년 전 | 1231 | ||
| 6942 | 11년 전 | 1576 | ||
| 6941 | 11년 전 | 1656 | ||
| 6940 | 11년 전 | 1755 | ||
| 6939 | 11년 전 | 1665 | ||
| 6938 | 11년 전 | 1941 | ||
| 6937 | 11년 전 | 1150 | ||
| 6936 | 11년 전 | 1348 | ||
| 6935 | 11년 전 | 1298 | ||
| 6934 | 11년 전 | 1466 | ||
| 6933 | 11년 전 | 1974 | ||
| 6932 | 11년 전 | 1531 | ||
| 6931 | 11년 전 | 1534 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기