Jquery获取触发事件的实际控件。

时间:2013-03-19 06:15:11

标签: javascript jquery

我有以下html: -

<button type="button" class="btn-add">
  <i class="some-icon"></i>
</button>

创建一个带有图标的漂亮花式按钮

我在点击按钮上绑定了一个事件: -

function (e) {
  console.log($(e.target));
}

现在,当我点击按钮的中心时,由于e.target,上述javascript的输出为<i>元素。有没有其他方法可以获得触发此事件的实际控件,在本例中为<button>

2 个答案:

答案 0 :(得分:3)

阅读此Difference between target and currentTarget

这是您的解决方案: Fiddle link

$('.btn-add').click(function(e) {
    alert(e.currentTarget.tagName);
});

答案 1 :(得分:1)

您可以使用thise.currentTarget

$('button').click(function(e){
    console.log(e.target);
    console.log(this);
    console.log(e.currentTarget);
})

演示:Fiddle