【问题标题】:JS: event target for button with iconJS:带有图标的按钮的事件目标
【发布时间】:2015-11-25 04:44:00
【问题描述】:

我只需要为这个 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 将是未定义的。 我怎样才能防止这种情况发生?

【问题讨论】:

    标签: javascript jquery meteor


    【解决方案1】:

    为什么不直接

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

    而不是

    $(event.target)
    

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

    【讨论】:

    • 我不知道为什么,但是在我的流星项目(client.js 事件处理程序)$(this) 中不起作用。
    • 那么你可以使用$(e.currentTarget)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-11
    • 1970-01-01
    • 2021-05-05
    • 2016-05-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多