2012-07-11 2 views
0

iframe을 사용하여 페이지의 콘텐츠 블록을 스택하는 콘텐츠 관리 도구가 있습니다. 시스템은 각 블록의 내용을 표지 및 편집 기능 (편집, 삭제, 복사 및 이동)을위한 버튼과 함께 iframe에로드합니다. 표지는 마우스 오버시에만 나타납니다 (CSS : hover 의사 클래스 사용). 페이지의 내용은 사용자가 편집하려는 블록 위로 마우스를 움직일 때를 제외하고는 그대로 살게됩니다. 이 모든 것이 잘 작동합니다.브라우저의 Window 객체가 마우스의 위치를 ​​다시 계산하도록하는 방법이 있습니까?

문제는 블록 이동과 함께 발생합니다. 나는 블록을 움직이기위한 드래그 앤 드롭 시스템을 개발했다. 사용자는 이동 아이콘을 마우스로 클릭 한 다음 원하는 위치로 블록을 드래그합니다. mousedown에서 블록 자체 (전체 iframe)가 숨겨져 (표시 : 없음) 동일한 모양의 그림자 div로 바뀌고 주위로 드래그됩니다. 사용자가 블록을 새로운 장소에 놓기로 선택하면 모든 것이 잘 작동하지만, 다른 곳으로 떨어 뜨리면 작업이 취소됩니다. 그림자가 삭제되고 원래 iframe이 다시 표시됩니다.

이제 문제는 원래 iframe이 다시 표시 될 때 여전히 마우스가 마우스를 가리키고 있다고 생각하고 : hover 가상 클래스 아래에 표시되는 모든 레이어가 표시되는 것입니다 (FireFox 및 IE - Chrome에는 없습니다.) 블록 위에서 마우스를 움직이면 iframe 상태가 다시 설정되지만 사용자가 아무 것도하지 않고도 마우스 위치를 다시 평가하도록 iframe을 강제 실행하는 방법을 찾고 있습니다.

한 가지 해결책은 의사 클래스의 사용을 마우스 이벤트 및 지정된 클래스로 바꾸는 것이지만 다른 솔루션이 있는지 궁금합니다.

답변

0

최신 브라우저 만 타겟팅하는 경우가 아니라면 (이전 Internet Explorer에서는 앵커 이외의 항목에 대해 native : hover 이벤트가 없습니다) 건너 뛰기 : 호버 방식을 건너 뛰고 올바른 것으로 가정합니다 솔루션 - css 클래스 및 js 이벤트를 사용하여 블록의 상태를 확인하는 것을 의미합니다.

관련 문제