【问题标题】:"Parse" touch events in FirefoxFirefox 中的“解析”触摸事件
【发布时间】:2012-08-16 00:25:45
【问题描述】:

我有一个演示,需要在 Windows 7 触摸平板电脑上的 Firefox 中运行。根据this 的说法,Mozilla 已经实现了标准化的触摸 API。但是,这不适用于 Windows 7 平板电脑。这些事件都不会在 FF 14 中触发。

我们必须使用MozTouchMove 事件。但它所做的只是调度顺序事件。威。一指,二指,三指,以此类推。

甚至很难区分两根手指。我必须测量更新之间的距离,将我自己的“ID”分配给每个“区域”。之后,要检测双指拖动,我们必须确保解析始终保持不变——如果一个手指向上,则可能会“取消拖动”,因为“第二”位置会被“第一”位置覆盖.试图想出一个方法。有什么想法吗?

【问题讨论】:

    标签: javascript firefox multi-touch


    【解决方案1】:
    // multitouch event handler for two finger scrolling in x or y
    function onTouchMove(event) {
    
        var eventTouch = new point(event.clientX, event.clientY);
    
        if (previousTouch.x == 0 && previousTouch.y == 0) {
            previousTouch = new point(eventTouch.x, eventTouch.y);                
            return;
        }
    
    
        //filter really close touches
        //in this case, assume single touch and defer to system mouse
        if (previousTouch !== undefined) {
            if (eventTouch.distance(previousTouch) < 6) {
                return;
            }
        }
    
        fingerIndex ++;
    
        // only track every other touch to keep fingers consistent
        if( fingerIndex % 2 == 0)
        {
            document.getElementById("finger1").style.left = previousTouch.x + "px";
            document.getElementById("finger1").style.top = previousTouch.y + "px";
    
            document.getElementById("finger2").style.left = eventTouch.x + "px";
            document.getElementById("finger2").style.top = eventTouch.y + "px";
        }
    
        previousTouch = eventTouch;
    }
    

    【讨论】:

      【解决方案2】:

      您链接到的状态文档的日期为 2010 年 7 月 - 两年前,Mozilla 关闭。因此,您现在正在使用deprecated 单点触控 API 并尝试实现多点触控——这势必会变得丑陋。文档实际上将您指向自 Firefox 12 以来可用的新 multi-touch API。这可以让您正确区分触摸,并且文档实际上详细解释了您将如何做到这一点。

      【讨论】:

      • 我刚刚再次尝试仔细检查。 “标准” API 中的任何事件都不会触发。不推荐使用的版本是所有工作。我已经禁用了 firebug 等扩展,以防它们捕获事件。没有运气。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-07
      • 2015-03-03
      • 2013-04-10
      • 2012-04-25
      • 1970-01-01
      • 1970-01-01
      • 2013-03-26
      相关资源
      最近更新 更多