2009-06-27 3 views
1

몇 가지 (다소) 겹치는 div가 있고 사용자가 겹침 부분을 클릭하면 마우스 좌표 아래에있는 div에 대해 mousedown 이벤트 (또는 비슷한 콜백)를 원합니다.jQuery에서 객체가 겹치는 여러 개의 mousedown 이벤트를 생성하는 방법은 무엇입니까?

표준 방법은 물론 최상위 div에 대해서만 콜백을 생성합니다. 이것이 가능한가?

+0

페이지의 모든 div를 찾아 그들 중 일부가 마우스 클릭의 경계 내에 있는지 확인하는 것입니다 마음에 오는 유일한 방법은, 그러나 그것은 끔찍하게 비효율적 . –

+0

그래, 나는 그것에 대해 생각했다. 하지만 어쨌든 mousedown 이벤트가 어떻게 작동해야합니까? –

+0

Dans의 의견에 동의합니다. 그렇게하는 것도 생각할 수있는 유일한 방법입니다. 이벤트 캡처/버블에 대한 정보는 http://is.gd/1fQbE에서 확인할 수 있습니다. 나는 당신이 각 divs co-ords를 객체에 저장할 수 있다고 생각한다. (움직이면 업데이트한다.) 그리고 그런 식으로 반복하면, 모든 div를 빠져 나가고 co-ords를 매번 발견하는 것보다 속도를 높일 수있다. 그게 내가 생각하기에 접근하는 방법. – Nooshu

답변

2

나는 모든 작은 녀석의 위치를 ​​저장 한 다음 큰 div에서 mousedown 이벤트를 처리하고이를 작은 것들에 배포하면서 모든 항목 위에 큰 (빈) div를 그렸습니다.

페이지의 모든 div를 반복하는 것보다 조금 낫습니다. 구조가 있기 때문에 검색이 더 빠릅니다.

관련 문제