JS:如果手指已经在触摸屏幕,则不会触发手写笔touchstart事件

时间:2018-09-12 16:00:55

标签: javascript ios safari multi-touch

我想在Web应用程序上同时用Apple Pencil和手指进行多点触摸事件。我想要的是:

  1. 我用手指触摸并按住屏幕,这会触发一次touchstart和touchmove事件;
  2. 当我用手指触摸屏幕时,我用铅笔触摸了屏幕,这触发了新的touchstart事件。

但是永远不会触发第二次touchstart事件。如果手指已经在触摸屏幕,则无法检测到手写笔是否正在触摸屏幕。我正在为Java使用Touch事件框架。这是我用来检测触摸事件的简单代码:

canvas.addEventListener('touchstart', function(evt){
  evt.preventDefault();
  var s = "";
  for (i = 0; i < evt.targetTouches.length; i++){
    s += " Type: "+evt.targetTouches[i].touchType;
  }
  document.getElementById('result').innerHTML = s;
});

canvas.addEventListener('touchmove', function(evt){
  evt.preventDefault();
  var s = "";
  for (i = 0; i < evt.targetTouches.length; i++){
    s += " Type: "+evt.targetTouches[i].touchType;
  }
});

canvas.addEventListener('touchend', function(evt){
  evt.preventDefault();
});

我也尝试使用evt.touches而不是evt.targetTouches,但仍然无法正常工作。

0 个答案:

没有答案