【问题标题】:How to detect finger count on pointer events in IE 11如何在 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 浏览器上的手指计数。有可能还是有其他方法?
  • 我想我在这里找到了答案。 stackoverflow.com/questions/15811694/…

标签: html internet-explorer internet-explorer-11 pointer-events


【解决方案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 具有标准的较早(前缀)版本。

【讨论】:

    猜你喜欢
    • 2021-02-15
    • 2013-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-30
    • 1970-01-01
    相关资源
    最近更新 更多