📅  最后修改于: 2023-12-03 15:21:07.009000             🧑  作者: Mango
在 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 或其他兼容性解决方案来解决这种兼容性问题。