2012-10-04 6 views
0

클릭 한 현재 html 요소에 대한 정보를 얻으려고합니다. 이를 위해 $(*).click() 이벤트를 사용하여 페이지의 모든 요소가이 이벤트를 갖도록했습니다. 다음과 같음 html 코드 <div class="outer"> <div class="inner"> <p>Hello<p> </div> </div> 안녕하세요 사용자가 나를 클릭하면 태그, 클래스 등을 식별 할 수 있도록 요소를 가져 오려고합니다. 여기에 사용자가 hello를 클릭하면 이벤트가 발생합니다. 그러나 그것은 p 태그에서 해고되고, div class = inner, 그리고 div 클래스에서 outer로서 해고됩니다. 하지만 여기서는 사용자가 클릭 한 텍스트 나 영역에서만 이벤트를 얻고 싶습니다.사용자가 클릭 한 요소에서 클릭 이벤트 받기

+2

'사용하십시오 $ (문서) .click을 클릭합니다 ()'를 사용하고'e.target'을 사용하여 지정된 요소를 가져옵니다. –

답변

4

$(*).click() 대신 $(document).click()을 사용하고 e.target을 사용하여 지정하십시오. 요소

당신은 e.stopPropagation();

$(document).click(function (e) { 
    e.stopPropagation(); 
    alert('Tag Name: ' + e.target.tagName + 
      ' --has class: ' + e.target.className + 
      ' --with text: ' + $(e.target).text()); 
}); 

DEMO 사용하여 버블 링 이벤트를 중지 할 수 있습니다. 대신`$ (*)의`()http://jsfiddle.net/Q6cpR/1/