2010-12-15 4 views
1

thisthis과 비슷한 질문이 있습니다. 버튼 클릭으로 다른 콘텐츠 위에 나타나는 메뉴가 있습니다. 사용자가 메뉴 바깥 쪽을 클릭하면 메뉴가 닫히기를 원합니다. 메뉴가 올라간 상태에서 클릭 할 수있는 '물건'이 많이 있습니다. 클릭만으로 내 메뉴를 닫을 수 있습니다. 실제로, 나는 메뉴가 모달이되고, 뒤에 무엇이 있는지를 볼 수 있고, 외부 클릭은 당신이 클릭 한 것을 활성화하지 않고 그것을 닫는다.'외부'이벤트를 캡처하기위한 '기반'div

메뉴 컨테이너 div 바로 아래에 z 순서로 절대 위치 div를 만들었습니다. '기본'div에는 클릭 이벤트가있어 메뉴를 닫습니다. 기본 div에 배경색이 있으므로 볼 수 있으므로 모든 것이 훌륭하게 작동합니다. 하지만이 기본 div가 투명하기를 바랍니다. 배경색을 제거하면 더 이상 클릭 이벤트가 발생하지 않습니다.

링크 된 질문에 대한 답변으로 메뉴를 닫을 때 본문이나 문서 자체에 클릭 이벤트를 추가하는 것이 좋겠지 만 메뉴가 항상 올라가지 않기 때문에 실제로 그렇게하고 싶지는 않습니다. 또한 일단 중단되면 클릭 수를 포착 할 필요가 없습니다.

'기본'div를 투명하게 만들려면 클릭해야하지만 클릭 이벤트를 캡처하려면 무엇이 필요합니까?

편집 :

  1. 스타일 배경 색상을 가지고있는 기본 DIV : 작동하는 것 같다하지만 거의 의미가 무엇이있다.
  2. 는 jQuery를에서, 사업부는 투명하고 이벤트를 캡처 이제

0으로 불투명도를 설정합니다. ???

+0

이 문제는 모든 브라우저에서 발생합니까 아니면 즉? http://coilmedia.com/post/2010/can-not-click-or-hover-transparent-links-elements-in-internet-explorer/ – dstarh

+0

IE7, 8 및 FF3 지금까지 ... – n8wrl

답변

1

투명한 배경을 사용하면 배경을 계속 클릭하여 불투명도 0으로 변경하여 배경 요소를 클릭 할 수 있습니다. 1x1 클리어 .gif 또는 .png를 추가하고 배경에 타일을 붙이는 것과 동일합니다. - 클릭 할 수있는 것을 허용합니다.

편집 된 것은 내 문제를 정확하게 설명합니다. link .

감사합니다.

+0

확실히 확실합니다. 행동으로 - 그것을 확인해 주셔서 감사합니다! – n8wrl

+0

더 명확하게 (아무 말장련도 의도하지 않음) 투명한 배경은 배경이 아니라 배경이 있다는 것을 말하면서 볼 수 있습니다. – dstarh

+0

고마워요. 내가하지 못한 도약은 이벤트에 '투명'하다는 것을 의미했습니다. ;) – n8wrl

0

나는 비슷한 문제가있었습니다. 내가 한 일은 needsClickInfo이라는 배열을 만들었고 버튼 클릭이 화면에 등록 될 때마다 needsClickInfo에 저장된 객체/함수를 호출합니다. 물론, onMouseEnter()에서 needsClickInfo을 업데이트하고 처리 할 개체/요소 (이 경우 메뉴 모음)의 onMouseLeave() 함수를 업데이트해야합니다.

관련 문제