如何在 IE 11 中检测指针事件的手指计数
Posted
技术标签:
【中文标题】如何在 IE 11 中检测指针事件的手指计数【英文标题】:How to detect finger count on pointer events in IE 11 【发布时间】:2015-01-06 19:25:45 【问题描述】:我已经为画布对象实现了指针事件。我需要知道我们如何检测触摸事件的手指计数。这是我的一段代码:
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 );
感谢您的帮助。
【问题讨论】:
这是一段代码。 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); 很抱歉给您带来了困惑。我正在尝试使用上述模型检测 IE11 浏览器上的手指计数。有可能还是有其他方法? 我想我在这里找到了答案。 ***.com/questions/15811694/… 【参考方案1】:没有内置属性可以为您提供屏幕上当前手指(活动指针)的数量。但这里有一些简单的代码可以实现这一点:
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 具有标准的较早(前缀)版本。
【讨论】:
以上是关于如何在 IE 11 中检测指针事件的手指计数的主要内容,如果未能解决你的问题,请参考以下文章