在用户单击的元素上获取click事件

时间:2012-10-04 18:42:26

标签: jquery html5

我想获取有关当前点击的html元素的信息。为此,我使用了$(*).click()事件,以便页面上的每个元素都有此事件。 假设我有以下html代码 <div class="outer"> <div class="inner"> <p>Hello<p> </div> </div> 现在,当用户单击hello时,我想获取该元素,以便我可以识别其标记,类等。 但问题是,当用户点击hello时,click事件被触发但是它被激活在p标签上,然后是div class = inner,然后是div,class为outer。但在这里,我只想在用户点击的文本或区域上获取事件。

1 个答案:

答案 0 :(得分:4)

请使用$(document).click()代替$(*).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/