use*_*695 2 javascript jquery meteor
我只需要为这个 HTML 定义一个点击事件:
<button data-method="rotate" class="btn btn-default">
<i class="fa fa-rotate-left"></i>
</button>
Run Code Online (Sandbox Code Playgroud)
html
Template.page.events({
'click button': function (event) {
var $button = $(event.target),
method = $button.attr('data-method');
}
});
Run Code Online (Sandbox Code Playgroud)
但是现在有一个问题,这只有在用户不点击 fa 图标时才有效,因为事件目标是不同的。在这种情况下method将是未定义的。我怎样才能防止这种情况?
为什么不只是
$(this) // or $(e.currentTarget)
Run Code Online (Sandbox Code Playgroud)
代替
$(event.target)
Run Code Online (Sandbox Code Playgroud)
event.target将您指向触发事件的实际元素。但是在您的情况下,您希望它成为一个按钮及其所有后代元素。
| 归档时间: |
|
| 查看次数: |
2780 次 |
| 最近记录: |