2

我开始使用 Meteor 做的第一件事是开始为移动/平板电脑编写一个基于触摸的 Web 应用程序。以下是重现问题的方法:

第一步:创建一个空白项目

meteor create touch_example
cd touch_example
meteor

其次,将这些内容添加到 .js 文件中。这首先会为触摸设备发出警报,因为它们没有控制台。

Meteor.log = function(input){
    if (typeof console !== 'undefined' && typeof Touch !== "object")
        console.log(input);
    else
        alert(input);
}

这就是罪魁祸首。

Template.touchbox.events = {
    'touchmove' : function (e){
        e.preventDefault();
        Meteor.log('touchy');
    }
};

最后一步,更改模板,使页面上至少有一个“touchbox” div。从理论上讲,它应该采取事件。您会注意到,如果您将“touchmove”更改为“click”,它就可以正常工作。如果您将其更改为dblclick它也可以正常工作。触摸事件不做任何事情。

4

2 回答 2

3

这可能会有所帮助。我一直在寻找让我的流星应用程序在移动设备上运行的点击。我发现您可以在单击后添加逗号,然后添加 touchstart

Template.red.events({
'click, touchstart .red': function(event){
            // add function
}
于 2016-02-17T08:58:18.833 回答
2

看起来 jQuery 作为标准不处理这些,尝试使用 jquery-mobile:http: //jquerymobile.com/demos/1.1.0/docs/api/events.html

要将其添加为一个包,您可能需要在此处查看我的其他答案: jQuery-Mobile Meteor 示例集成和/或集成指南

我发现了一些关于绑定触摸与鼠标事件相同的其他帮助,但是这使用绑定,我怀疑它会与 live-ui 流星的东西挂钩:http: //xavi.co/articles/trouble-with-touch-events- jQuery

于 2012-04-13T18:38:29.493 回答