Web 应用程序中的 3 指多点触控支持
3-fingers Multi-Touch Support in Web Apps
是否可以在 Javascript 中处理多于 2 指的触摸事件?在我的测试中,添加第三根手指时事件停止触发。我使用 jQuery 和官方 jQuery 插件创建了一个示例:Pointer Events Polyfill。使用 Wacom Cintiq 22HD 触控显示器在 Chrome 和 Windows 10 Professional 上的 Microsoft Edge 中测试。
http://jsfiddle.net/po4a3e1L/2/
(function ($) {
var pointers = [];
$('#pointerTarget').on('pointerdown pointerover pointerenter', function (event) {
var id = event.originalEvent.pointerId;
if (!pointers[id]) {
pointers[id] = $(`<div id="${id}"><p>pointerId: ${id}</p></div>`).appendTo('body');
}
});
$('#pointerTarget').on('pointerup pointerout pointerleave', function (event) {
var id = event.originalEvent.pointerId;
if (pointers[id]) {
pointers[id].remove();
pointers.splice(id, 1);
}
});
})(jQuery);
这原来是我的 Wacom 驱动程序的问题。在触摸选项下,手势识别器有两个选项:使用Windows手势和使用Wacom手势。我不得不 select 前者。
是否可以在 Javascript 中处理多于 2 指的触摸事件?在我的测试中,添加第三根手指时事件停止触发。我使用 jQuery 和官方 jQuery 插件创建了一个示例:Pointer Events Polyfill。使用 Wacom Cintiq 22HD 触控显示器在 Chrome 和 Windows 10 Professional 上的 Microsoft Edge 中测试。
http://jsfiddle.net/po4a3e1L/2/
(function ($) {
var pointers = [];
$('#pointerTarget').on('pointerdown pointerover pointerenter', function (event) {
var id = event.originalEvent.pointerId;
if (!pointers[id]) {
pointers[id] = $(`<div id="${id}"><p>pointerId: ${id}</p></div>`).appendTo('body');
}
});
$('#pointerTarget').on('pointerup pointerout pointerleave', function (event) {
var id = event.originalEvent.pointerId;
if (pointers[id]) {
pointers[id].remove();
pointers.splice(id, 1);
}
});
})(jQuery);
这原来是我的 Wacom 驱动程序的问题。在触摸选项下,手势识别器有两个选项:使用Windows手势和使用Wacom手势。我不得不 select 前者。