2012-08-30 4 views
1

그래서 툴팁을 생성하려고하는데 몸을 클릭 이벤트가 추가 될 때마다 클릭 이벤트가 추가되어 툴팁이 사라집니다. 이론적으로 이것은 전개 될 것이므로 사용자가 링크를 클릭하면 툴팁이 사라지고 링크가 가리키는 곳으로 사용자가 이동하게됩니다.클릭 제거 이내 클릭

내가 겪고있는 문제는 다음과 같은 이유로 작동하지 않습니다. 아무 데나 클릭하기 전에 '여기'가 나타나고 툴팁이 거의 생성 된 직후 툴팁 제거가 트리거되어 툴팁이 나타나지 않습니다. 어떻게하는지에 대한 생각. 여기

$("a").click(function(event){ 
     event.preventDefault(); 
     $(document.body).click(function(){ 
      $('.tooltip').remove(); 
      console.log('here'); 
     }) 

     var text = $(this).attr('title'); 
     var tooltip = $('<div class="tooltip">' + text + '</div>'); 
     $(document.body).append(tooltip); 
    }); 

는 JS 바이올린 : 그것은 허용하지 않도록 http://jsfiddle.net/fgRTa/ 당신은 링크 2 다음 링크 1을 다른 경우, 작동 확인 링크를 처음 2를 클릭한다, 몸은 이미 클릭 이벤트가 있습니다 툴팁 추가. 이론적으로 나는 그 문제가 사라질 수 있기를 바랍니다. 그래서 한 번의 클릭으로 클릭 이벤트가 제거 될 것이지만 그것은 부작용입니다.

감사

+0

음 .. 당신이 당신의 a.click 기능 내부는 document.body 클릭 기능을 하시겠습니까? 첫 번째 앵커를 클릭 할 때마다 다른 클릭 이벤트를 바인딩합니다. –

+0

예. 특정 앵커에만 해당 될 것입니다. 위의 내용은 단순화 된 예입니다. –

답변

0

그건 당신이 몸에 클릭 처리기를 추가 할 때 현재의 클릭이 전파 중지되지 않았기 때문에.

event.stopPropagation();을 사용해보세요.

바이올린, 당신의 고려 http://jsfiddle.net/fgRTa/2/