1

I have implemented pointer events for canvas object. I need to know how we can detect finger count for touch events. Here is a piece of my code:

canvasObj.addEventListener( 'pointerenter', mouseEnterCall, false );
canvasObj.addEventListener( 'pointerdown',  mouseDownCall,  false );
canvasObj.addEventListener( 'pointermove',  mouseMoveCall,  false );
canvasObj.addEventListener( 'pointerup',    mouseUpCall,    false );
canvasObj.addEventListener( 'pointerout',   mouseOutCall,   false );

Appreciate your help.

4

1 回答 1

2

没有内置属性可以为您提供屏幕上当前手指(活动指针)的数量。但这里有一些简单的代码可以实现这一点:

var pointerCount = 0; //Stores current number of "active pointers"
window.addEventListener("pointerdown", addPointer, true); 
window.addEventListener("pointerup", removePointer, true); 
window.addEventListener("pointercancel", removePointer, true);
function addPointer(e) { pointerCount++ } 
function removePointer(e) { pointerCount-- }

您可以修改 addPointer 以仅计算触摸指针,如果这是您想要的:

function addPointer(e) { if (e.pointerType === "touch") pointerCount++ } 

请注意,如果您还想支持 IE10,则需要稍微修改此代码,IE10 具有该标准的较早(前缀)版本。

于 2015-01-06T21:53:03.393 回答