【问题标题】:Getting click event on element where user has clicked在用户点击的元素上获取点击事件
【发布时间】:2012-10-04 18:42:26
【问题描述】:

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

【问题讨论】:

  • 请使用$(document).click()而不是$(*).click()并使用e.target获取指定元素。

标签: jquery html


【解决方案1】:

请使用$(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/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-10-07
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2020-01-06
    • 1970-01-01
    • 2012-06-24
    相关资源
    最近更新 更多