레이어 메뉴를 만들었다.
메뉴를 누르면 서브메뉴가 열렸을때는 서브메뉴를 닫고 서브메뉴가 닫혀있으면 서브메뉴가 열리는 형식의 메뉴..

하지만 메뉴외의 공간을 눌러도 메뉴를 닫아달라는 요청이 있었다.

간단하게 전체를 div로 주고 메뉴가 열렸을때 열린 메뉴를 닫아주라는 스크립트를 만들어서 해당 div에 onclick시 이벤트가 실행되도록 코드를 짰다.
But!!!! 문제가 생겼다...메뉴가 아예 안열리는것이 아닌가..-ㅁ-!!!

그렇다..메뉴 클릭 이벤트가 전체 이벤트에 걸린것이다!! ㅠㅠ;;

하지만 해결 방법은 존재 했으니..이벤트번짐 방지-중복실행방지 이벤트인 cancelBubble
서브메뉴를 호출하는 함수 상단에 window.event.cancelBubble=true; 선언!!

좀 더 공부하고 정확한 이해가 필요한 유용한 함수 발견!! +ㅁ+

(위 사항에 대한 해결방법으로 메뉴를 레이어처리 후 전체 레이어에서 뺀다음 z-index를 주게 되면 전체 레이어에 해당되지 않으므로...전체 레이어에 걸어놓은 자바스크립트에 방해받지 않고 메뉴를 사용할 수 있다!)


- 참고(cencelBubble)
http://stylekai.tistory.com/124?srchid=BR1http%3A%2F%2Fstylekai.tistory.com%2F124
http://blog.naver.com/falconer00?Redirect=Log&logNo=90008192987
http://blog.naver.com/zeroscience?Redirect=Log&logNo=120060674558



이벤트 전파 방지하기 http://lovedev.tistory.com/337 (자바스크립트)

Posted by 귀찮은 여니씨
,