touch - 在微信小游戏上使用 Hammer.js
问题描述
我尝试在微信小游戏上使用 Hammer.js 进行触摸 UX。我搜索了一段时间,但找不到任何类似的问题或答案。
首先,我只是尝试以正常方式使用 Hammer.js。document.createElement('canvas')
在的帮助下创建 Canvas 后weapp-adapter.js
,像这样初始化 Hammer.js:
this._hammer = new Hammer(canvas);
this._hammer.on('tap', (event: HammerInput) => {
console.log('tap', event);
});
但是控制台没有记录触摸事件。由于微信小游戏的画布没有事件处理程序,这是很正常的。
那么,如何在微信小游戏上使用 Hammer.js 呢?
解决方案
Hammer.js 与微信小游戏配合得很好。我的错误是在import
Hammer.js 的声明中。
在发布这个问题之前,我使用
import * as Hammer from 'hammerjs'
,这并没有像我预期的那样工作。我将此行修改为
import 'hammerjs'
它奏效了。所有触摸 UX 事件都记录在控制台上,例如tap
“pan”等。
但这种导入不太直观。我主要将这些import
语句用作import SOMETHING from 'somemodule'
. 虽然我自己写了这个答案,但如果有人让我更详细地知道,我很乐意再次回答。
推荐阅读
- java - 无法从 autocompletebubbletext 获取字符串
- java - 表示方程
- google-colaboratory - 从 URL 打开 Google Colab 笔记本
- c# - 如何将选定的excel文件的列和行导入listView c#
- ffmpeg - ffmpeg 在特定时间之前从 n 帧开始剪切视频?
- python - Numpy 随机函数为给定参数创建不一致的形状
- php - PHP 不执行 MySqli 查询
- yum - 在 ECS 优化的 Amazon Linux 映像上安装 Glusterfs 客户端
- polymer-3.x - Polymer-3.x 是否有任何在线编码编辑器/IDE?
- html - 使用 CSS 为带有子元素的 div 布局响应式网格