0

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

4

1 回答 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 回答