手机端:touchend触发时,如何获取到触点离开屏幕时的pageX

发布于 2022-09-02 11:14:08 字数 1107 浏览 13 评论 0

请问一下,为什么touchend事件触发时,获取不到pageX。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1">
<title>touchend获得不到pageX吗?</title>
<style>
*{margin: 0; padding: 0;}
div{width: 320px; height: 160px;
    background: orange;
}
</style>
</head>
<body>
    <div></div>
<script>
window.onload=function(){ 
    var oD=document.querySelector('div');
    oD.addEventListener('touchstart',function(ev){ 
        console.log(ev.targetTouches[0].pageX);
    },false);
    oD.addEventListener('touchend',function(ev){ 
        // console.log(ev.changedTouches[0].pageX);这个可以获取到pageX
        console.log(ev.targetTouches[0].pageX); // 谷歌:Uncaught TypeError: Cannot read property 'pageX' of undefined
    },false);
};    
</script>
</body>
</html>

运行结果:
图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

依 靠 2022-09-09 11:14:08

touchEnd时间,用e.changedTouches[0].pageX 获取

雨夜星沙 2022-09-09 11:14:08

e.touches[0].pageX

在touchstart时候获取pageX,然后在获取touchmove的pageX,就能计算出touchend

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文