此Meteor客户端模板事件会多次触发,从2到23次,具体取决于我点击屏幕的位置 为什么以及如何解决它?
Template.myT.events({
'click *:not(canvas)': function(e) {
console.log(e.target);
return;
});
这是控制台的输出
答案 0 :(得分:0)
在除canvas元素之外的所有元素上注册click侦听器。当您点击<span>
元素中的<p>
元素时,您不仅要点击<span>
元素,还要点击<p>
元素。这就是多次调用click侦听器(事件传播)的原因。要防止出现这种情况,请在点击处理程序中使用e.stopPropagation()
。