2009-12-11 4 views
0

모두 높으면, 좌표를 통해 페이지 요소를 선택할 수 있는지 궁금합니다.좌표를 통해 요소를 가져 옵니까?

이유는 강조 표시된 요소를 마우스 오른쪽 단추로 클릭 할 수있는 편집 가능한 페이지를 만들려고하는데 메뉴가 나타난 다음 옵션에서 선택하십시오. 내가 찾은 유일한 방법은 호버를 통해 요소를 선택하는 것입니다 (event.target). 다른 코드와 결합 된 부모가 많으면 길을 따라 루프를 돌면서 다른 데이터를 잃어 버립니다. 나는 물론 더 나은 요소를 강조 표시하는 또 다른 방법을 찾을 수 있다면.

+0

나는 데모를 업로드했습니다. 페이지를 마우스 오른쪽 버튼으로 클릭하고 단락을 강조하지만 오른쪽으로 이동하면 돋보이는 위치에 메뉴가 표시되고 왼쪽 상단에 사라집니다. http://www.actwebdesigns.co.uk/test –

+2

참조 http://stackoverflow.com/questions/1569775/how-do-i-find-the-dom-node-that-is-at-a -given-xy-position-hit-test 및 http://stackoverflow.com/questions/1471047/how-to-know-what-elements-are-in-current-mouse-position 및 http://stackoverflow.com/question/48999/getting-div-id-based-xy-position/54595 # 54595 –

+0

Crescent Fresh 또한 'elementFromPoint'는 브라우저와 브라우저에서 다르게 동작한다고 추가해야합니다. 따라서 실제로 브라우저 간 호환이되지 않습니다. – jitter

답변

0

이것은 당신이하려고하는 일에 대해 가도록하는 끔찍한 방법이며 경험을 통해 말하고 있습니다. 저는 마우스 좌표에 따라 클릭 한 날짜를 나타내는 달력 도구를 상속 받았습니다. 어리석은 것은 확실히 작동하지만, 어떤 방식 으로든 유지/수정/추가하는 거대한 PITA입니다.

당신이 미래에 유지 보수의 악몽을 원하는 경우가 아니면 훨씬 더 좋은 방법은 이벤트 객체를 사용하는 것입니다. 올바른 객체에 이벤트를 연결하고 e.target을 사용하면 (또는 jquery를 사용하는 경우 "this") 사용자가 클릭 한 위치를 기반으로 올바른 동작을 매우 쉽게 라우팅 할 수 있어야합니다. .

관련 문제