如何检测 IE 11 中指针事件的手指计数
How to detect finger count on pointer events in IE 11
我已经为 canvas 对象实现了指针事件。我需要知道我们如何检测触摸事件的手指计数。这是我的一段代码:
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 );
感谢您的帮助。
没有内置 属性 可以为您提供当前屏幕上手指(活动指针)的数量。但这里有一些简单的代码可以实现这一点:
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 具有较早的(带前缀的)标准版本。
我已经为 canvas 对象实现了指针事件。我需要知道我们如何检测触摸事件的手指计数。这是我的一段代码:
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 );
感谢您的帮助。
没有内置 属性 可以为您提供当前屏幕上手指(活动指针)的数量。但这里有一些简单的代码可以实现这一点:
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 具有较早的(带前缀的)标准版本。