Arc*_*rcy 1 javascript cordova meteor
我需要在我的Meteor应用程序中添加手势.我不明白怎么做.
现在我将我的代码放在Template.XX.rendered中,而不是在事件范围内调用手势:
Session.setDefault('deletable', false);
Template.xx.rendered = function(){
$('body').hammer();
};
Template.xx.events({
'swipeleft #hammerDiv': function(e, t) {
Session.set('deletable', true);
},
'swiperight #hammerDiv': function(e, t) {
Session.set('deletable', false);
}
});
Template.territories.helpers({
deleteButton : function(){
return Session.get('deletable');
}
});
Run Code Online (Sandbox Code Playgroud)
这个简单的代码可以在滑动项目中显示删除按钮.所有似乎都与铬和鼠标滑动,但当我在我的Android设备(流星运行android设备)模拟应用程序时,滑动手势不起作用.如果我使用Chrome浏览器测试我的设备,所有工作都已完成.
有兼容性问题吗?我的代码错了吗?有什么建议?
非常感谢!
我找到了适用于我的最终解决方案:
代码:
Session.setDefault('deletable', null);
Template.xx.rendered = function(){
$('body').hammer({
drag_min_distance:1,
swipe_velocity:0.1
});
};
Template.xx.events({
'swipeleft #hammerDiv': function(e, t) {
e.preventDefault();
Session.set('deletable', null);
},
'swiperight #hammerDiv': function(e, t) {
e.preventDefault();
Session.set('deletable', this._id);
}
});
Template.xx.helpers({
deleteButton : function(){
var thisItem = Session.get('deletable');
if (thisItem == this._id){
return true
}else{
return false;
}
}
});
Run Code Online (Sandbox Code Playgroud)
或者,不是在事件中应用preventDefault(),而是可以更改hammer()目标并添加如下所示的新属性:
$('#hammerDiv').hammer({
drag_min_distance:1,
swipe_velocity:0.1
prevent_default:true
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1504 次 |
| 最近记录: |