javascript - 如何在移动设备上触发 Mousedown/Mouseup?
问题描述
我正在为我的朋友创建一个网站,让他们可以玩更高质量的Hashiwokakero在线实现。
他们中的一些人有平板电脑,网站上的所有内容都加载得很好,但是当他们去触摸并拖动以形成从一个岛到另一个岛的桥梁时,网页会尝试滚动(即使没有可滚动区域!)。
目前我正在使用以下方法检测鼠标事件:
this.canvas.addEventListener('mousedown',
(mouseEvent) => this.mousePressed(mouseEvent), false);
this.canvas.addEventListener('mouseup',
(mouseEvent) => this.mouseReleased(mouseEvent), false);
有没有一种简单的方法可以让我在移动设备上调用 mousePressed() 和 mouseReleased() 函数?
谢谢!
解决方案
触摸屏的类似事件将是touchstart
和,它们与桌面的和事件touchend
完全相同。来自文档:mousedown
mouseup
touchstart
当一个或多个触摸点放置在触摸表面上时会触发该事件。
和
touchend
当从触摸表面移除一个或多个触摸点时触发该事件。
您可以查看文档以获取有关触摸事件的更多信息。
我也猜想你可能还需要阻止一些事件冒泡,如果是这样,你可以看看事件冒泡并event.stopPropagation()
防止它们冒泡。
mousedown
如果/touchstart
和mouseup
/事件的逻辑应该相同touchend
,您可以将多个事件绑定到侦听器,如此处所述。
推荐阅读
- css - 如果表格太小,如何仅设置第一列以填充剩余空间或修剪其内容?
- javascript - JQuery UI 选项卡在 Magento 2 上的 IE11 中不起作用
- go - 使用 Kubernetes go-client 向 Pod 添加标签的最短方法是什么
- mysql - SQL if 存在更新数量
- java - 如何使用 JPA 将 DELETE 和 SELECT 语句作为一个查询执行?
- oracle - 如何将 Oracle 序列更新/增加一千万?
- r - 提取列表中数据帧的名称传递给 R 中的函数
- android - 检查 PIP 是否处于活动状态
- url - 图片的URI不正确
- vba - 仅从激活的幻灯片中删除动画