【问题标题】:Touch events in MeteorMeteor 中的触摸事件
【发布时间】:2012-04-25 07:30:26
【问题描述】:

我开始使用 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');
    }
};

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

【问题讨论】:

  • 来自流星文档的一些进一步的见解表明事件处理程序是“与 jQuery 连接的”。所以也许正在寻找一个 jQuery 插件来识别触摸,同时我们等待流星减少对 jQuery 的依赖?
  • 仅供参考,iOS 有一个控制台,可以在 Preferences > Safari > Developer - maisonbisson.com/blog/post/14447/… 中启用

标签: touch multi-touch meteor


【解决方案1】:

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

Template.red.events({
'click, touchstart .red': function(event){
            // add function
}

【讨论】:

    【解决方案2】:

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

    要将其添加为一个包,您可能需要在此处查看我的其他答案: jQuery-Mobile Meteor sample integration and/or integration guidelines

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

    【讨论】:

    • jQuery Fingers 是一个轻量级的 jQuery 插件,您可以使用它来代替 jQuery Mobile,如果您真正需要的话,它可以让您监听触摸事件。
    猜你喜欢
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2013-03-26
    • 1970-01-01
    • 1970-01-01
    • 2010-12-02
    • 2017-09-13
    • 2011-05-16
    相关资源
    最近更新 更多