javascript - TouchEvent里的targetTouches、touches、changedTouches的区别的具体体现是?
阿神
阿神 2017-04-10 15:19:00
[JavaScript讨论组]

我搜到的介绍是:

touches是当前屏幕上所有触摸点的列表;
targetTouches是当前对象上所有触摸点的列表;
changedTouches是涉及当前事件的触摸点的列表。

但实际输出这三个对象却都是一样的,

    $('#guideShowCtn1').touchmove(function (e) {
        console.log(e.changedTouches[0]);
        console.log(e.targetTouches[0]);
        console.log(e.touches[0]);
    });

想问下,这三个TouchList在什么时候会不一样?

阿神
阿神

闭关修行中......

全部回复(3)
大家讲道理

按我的理解是这样的:

  • touches:当前屏幕上所有触摸点的集合列表

  • targetTouches: 绑定事件的那个结点上的触摸点的集合列表

  • changedTouches: 触发事件时改变的触摸点的集合

举例来说,比如p1, p2只有p2绑定了touchstart事件,第一次放下一个手指在p2上,触发了touchstart事件,这个时候,三个集合的内容是一样的,都包含这个手指的touch,然后,再放下两个手指一个在p1上,一个在p2上,这个时候又会触发事件,但changedTouches里面只包含第二个第三个手指的信息,因为第一个没有发生变化,而targetTouches包含的是在第一个手指和第三个在p2上的手指集合,touches包含屏幕上所有手指的信息,也就是三个手指。

天蓬老师

感谢@JasmineOT的讲解,为了方便记忆,做了个图:

迷茫

在touchstart 和 touchend 事件触发时

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号