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

JS: event target for button with icon

本文关键字:按钮 目标 事件 图标 JS      更新时间:2023-09-26

我只需要为这个HTML:定义一个点击事件

<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将是未定义的。我该如何防止这种情况发生?

为什么不只是

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

而不是

$(event.target)

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