JS:带图标的按钮的事件目标

时间:2015-11-24 20:38:43

标签: javascript jquery meteor

我只需要为此HTML定义一个click事件:

<button data-method="rotate" class="btn btn-default">
    <i class="fa fa-rotate-left"></i>
</button>

HTML

Template.page.events({
    'click button': function (event) { 
        var $button     = $(event.target),
            method      = $button.attr('data-method');
    }
});

但现在存在问题,这只有在用户没有点击fa图标时才有效,因为事件目标不同。在这种情况下,method将是未定义的。 我该如何防止这种情况?

1 个答案:

答案 0 :(得分:3)

为什么不

$(this)   // or $(e.currentTarget)

而不是

$(event.target)

event.target指向触发事件的实际元素。 但在你的情况下,你希望它是一个按钮及其所有后代元素。