2012-04-23 3 views
1

현재 표시된 요소의 요소 ID를 가져 와서 팝업 상자/툴팁을 표시하는 방법을 찾으려고합니다. 현재 나는 좌표를 얻기 위해 clientX/clientY를 사용하고 있지만, 나는 팝업이 내가 가리키고있는 요소 위에 집중되도록하고 싶습니다.선택한 요소의 ID를 가져 오기

"show_tooltip을 호출 한 사람"등과 같은 정보를 얻을 수있는 방법이 있나요? 나중에 요소의 좌표를 가져옵니다. 희망이 의미가 있습니다.

아래의 댓글에 대한 응답으로, 이것은 내가 현재 사용하고있는 것입니다.

function show_tooltip(evt) { 
    var x = evt.clientX -50; 
    var y = evt.clientY -70; 

    tooltip.setAttributeNS(null, "transform", "translate(" + x + "," + y + ")"); 
    tooltip.setAttributeNS(null, "opacity", "0.7"); 
} 

이 문제는 마우스 포인터가 좌표에 사용된다는 것입니다. 요소를 얻기 위해 getElementById()을 사용할 수는 있지만, 나는이 함수를 호출 한 요소 인 을 모른다.

+0

코드에 필요한 것의 예를 보여줄 수 있습니까? – kjy112

답변

1

이것이 당신이 찾고있는 경우 나도 몰라 :

<div onmouseover="show_tooltip(this)"/> 

그리고 당신은 JS 함수에서 이벤트를 해고 요소를 얻을 것이다.

+0

너를 할 수있다! 이것은 실제로 문제를 해결했습니다. 나는 그룹으로'' 태그를 사용하고 있지만 잘 작동합니다. show_tooltip에 인수로'this'를 추가 한 다음, 함수에서 getAttribute를 사용하여 요소의 x 및 y 좌표를 가져옵니다. – foo

+0

도움이 된 것을 기쁘게 생각합니다. – raven1981

0

아마 http://docs.jquery.com/Plugins/Tooltip (demo)을 볼 수 있습니다. Thoose 종류의 플러그인은 이미 많은 시간 동안 개발되었습니다. 이것은 하나의 예일뿐입니다.

+0

이것이 문제를 해결하는 동안 질문에 대답하지 않습니다. 마우스가 가리키는 요소에 대한 정보를 어떻게 얻을 수 있습니까? – foo

+0

먼저, 클래스에 hallow 할 수있는 모든 요소를 ​​추가하십시오 (예 :'class = "hoverable"). 그런 다음 jQuery를 사용하여'$ (".hoverable") .hover (function() {// ...})' – sp00m

0

Event.target (스크립트의 evt.target)에는 이벤트 대상 (일반적으로 요소)이 있습니다.