区分 Javascript 中的触摸和交换事件

发布于 2025-01-10 22:03:31 字数 118 浏览 0 评论 0原文

我有一个用于交换图像的图片库。在画廊中,我使用了 touchstart、touchmove、touchend 和 touchcancel 事件。但现在我还需要处理触摸事件。那么,我应该在移动设备上分别区分触摸和交换事件吗?

I have a image gallery which I used for swaping images. In gallery I used touchstart, touchmove, touchend and touchcancel events. But now I need to handle the touch event as well. So, I do I differentiate the touch and swap event separately on mobile devices?

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

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

发布评论

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

评论(1

忘年祭陌 2025-01-17 22:03:31

我正在使用这个技巧:

$("#some_element")
        .on('touchstart', function(e) {
            touch_y = e.changedTouches[event.changedTouches.length - 1].clientY;
            touch_x = e.changedTouches[event.changedTouches.length - 1].clientX;
        })
        .on("click touchend", function (e) {
            if(e.type=='touchend' && (Math.abs(touch_y-e.changedTouches[event.changedTouches.length - 1].clientY)>3 || Math.abs(touch_x-e.changedTouches[event.changedTouches.length - 1].clientX)>3)) return;
            // Your code here
            alert('This element only touched, not swiped');
        });

I'm using this trick:

$("#some_element")
        .on('touchstart', function(e) {
            touch_y = e.changedTouches[event.changedTouches.length - 1].clientY;
            touch_x = e.changedTouches[event.changedTouches.length - 1].clientX;
        })
        .on("click touchend", function (e) {
            if(e.type=='touchend' && (Math.abs(touch_y-e.changedTouches[event.changedTouches.length - 1].clientY)>3 || Math.abs(touch_x-e.changedTouches[event.changedTouches.length - 1].clientX)>3)) return;
            // Your code here
            alert('This element only touched, not swiped');
        });
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文