📜  Web TouchEvent API | TouchEvent.changedTouches(1)

📅  最后修改于: 2023-12-03 15:21:07.009000             🧑  作者: Mango

Web TouchEvent API: TouchEvent.changedTouches

介绍

在 Web TouchEvent API 中,TouchEvent.changedTouches 属性是指触发当前 touch 事件的所有触摸点的 Touch 对象列表。用 Touch 对象代表用户在触摸屏幕上操作的触摸点。

注意:TouchEvent.changedTouches 只包含引起当前 touch 事件的触摸点列表。若想获取所有触摸点的列表,请使用 TouchEvent.touches。

语法

TouchEvent.changedTouches

返回值

返回一个 Touch 对象列表,表示当前 touch 事件所有的触摸点。

使用

在事件回调函数中,可以通过 TouchEvent.changedTouches 获取当前 touch 事件的所有触摸点。

例如,获取当前 touch 事件的第一个触摸点的坐标:

function onTouchStart(event) {
  var touch = event.changedTouches[0];
  // 输出触摸点坐标
  console.log(touch.clientX, touch.clientY);
}

通常,在多点触控的情况下,需要遍历所有 changedTouches 中的 Touch 对象来处理每一个触摸点的具体信息:

function onTouchMove(event) {
  var touches = event.changedTouches;
  for (var i = 0; i < touches.length; i++) {
    var touch = touches[i];
    // 处理每一个触摸点
    console.log("id=" + touch.identifier + ", x=" + touch.clientX + ", y=" + touch.clientY);
  }
}
兼容性

TouchEvent.changedTouches 属性在大部分主流浏览器中得到了支援,但在某些老版本的浏览器中不支援。开发者可以通过使用 polyfill 或其他兼容性解决方案来解决这种兼容性问题。

参考链接