我想获取有关当前单击html
元素的信息。为此,我使用了$(*).click()
事件,以便页面上的每个元素都有这个事件。假设我现在有以下html
代码
<div class="outer">
<div class="inner">
<p>Hello<p>
</div>
</div>
,当用户单击 hello 时我想获取该元素,以便我可以识别它的标签、它的类等。但问题是,当用户单击 hello 时,单击事件被触发,但它在 p 上被触发tag ,然后是 div class=inner ,然后在 div 上,类为 external 。但在这里我只想在用户点击的文本或区域上获取事件。
问问题
52 次
1 回答
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());
});
演示:http: //jsfiddle.net/Q6cpR/1/
于 2012-10-04T18:44:52.880 回答