IE10上的触摸点之间的空间

Pak*_*Pak 5 javascript flot touch internet-explorer-10

我正在使用插件flot.touch.js,它在webkit浏览器的图表上添加了触摸交互性(平移和缩放).我想让它在IE10上工作,但我不知道如何检索我的触摸点之间的空间(我需要这个来计算比例).

在webkit浏览器上,我们可以通过使用这些变量来实现:

evt.originalEvent.touches[0].pageX
evt.originalEvent.touches[0].pagey
evt.originalEvent.touches[1].pageX
evt.originalEvent.touches[1].pageY
Run Code Online (Sandbox Code Playgroud)

And*_*y E 4

对于 IE 的指针事件,每个触摸点都会触发一个单独的事件。与 iOS 触摸事件(其他浏览器也实现)不同,每个“指针”的状态是单独跟踪的。将其视为一个更通用的事件,将多个基于指针的输入设备分组。

每个事件对象都有一个pointerId可用于跟踪其状态的属性。要跟踪多次触摸,您需要将该pointerId 与任何其他变量一起存储在事件处理程序函数范围之外的对象中,以及您可能需要的任何其他数据。例如:

var pointers = {};
function pointerDown(evt) {
    if (evt.preventManipulation)
        evt.preventManipulation();

    pointers[evt.pointerId] = [evt.PageX, evt.PageY];

    for (var k in pointers) {
        // loop over your other active pointers
    }
}
function pointerUp(evt) {
    delete pointers[evt.pointerId];
}
Run Code Online (Sandbox Code Playgroud)

进一步阅读: