Events 如何在Meteor模板事件中侦听变量事件?
问题基本上是如何转换:Events 如何在Meteor模板事件中侦听变量事件?,events,meteor,meteor-blaze,Events,Meteor,Meteor Blaze,问题基本上是如何转换: var evt = 'click' || 'touchstart'; // Based on some logic $('.selector').on(evt, function(){}); 进入流星事件处理程序 Template.MyTemp.events({ ....??? : function(e, t){} }); 更新 根据下面的评论,似乎是问题所在,因为它设置了触摸事件passive=true 因此,新的问题是: 如何在Blaze模板中设置事件侦听
var evt = 'click' || 'touchstart'; // Based on some logic
$('.selector').on(evt, function(){});
进入流星事件处理程序
Template.MyTemp.events({
....??? : function(e, t){}
});
更新
根据下面的评论,似乎是问题所在,因为它设置了触摸事件passive=true
因此,新的问题是:
如何在Blaze模板中设置事件侦听器的被动属性
事件
通过使用
/
作为事件类型之间的分隔符,可以在单个处理程序中指定多个事件
英文:
对于模板MyTemp
handle,单击或触摸屏幕上的启动事件
选择器
类
以下内容也很有用:这不会在触摸设备上复制事件处理程序吗?不确定,我还没有在手机上尝试过。我不知道它会发送两个事件还是一个。就像我想的,它会发射两次。不管怎么说,这个问题背后的想法是,在手机上收听touchstart,然后在桌面上收听click。原因是,有时点击在手机上的响应不如预期。如果停止传播会怎么样?仍然会触发两次
Template.MyTemp.events({
'click/touchstart .selector'(e,t){
e.preventDefault(); // prevents default click after touchstart
// your handler
}
});