首页 > 解决方案 > 在微信小游戏上使用 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 呢?

标签: touchhammer.jswechatwechat-miniprogram

解决方案


Hammer.js 与微信小游戏配合得很好。我的错误是在importHammer.js 的声明中。

在发布这个问题之前,我使用

import * as Hammer from 'hammerjs'

,这并没有像我预期的那样工作。我将此行修改为

import 'hammerjs'

它奏效了。所有触摸 UX 事件都记录在控制台上,例如tap“pan”等。

但这种导入不太直观。我主要将这些import语句用作import SOMETHING from 'somemodule'. 虽然我自己写了这个答案,但如果有人让我更详细地知道,我很乐意再次回答。


推荐阅读