如何使用Hammer.js Touch Emulator编辑文本输入字段

How to edit text input fields with Hammer.js Touch Emulator?

本文关键字:编辑 文本 输入 字段 Emulator Touch 何使用 Hammer js      更新时间:2023-09-26

使用Hammer.js和Touch Emulator可在此处找到:

https://github.com/hammerjs/touchemulator

似乎根本无法点击文本输入,更不用说编辑了。

我已经想通了!

创建Hammer事件时,添加一个Tap事件。在Tap事件的处理程序中,聚焦并单击目标元素。这将允许使用包装在Hammer对象中的输入字段和按钮。

Hammer v2.04

var el = document.querySelector("#touchable");
var mc = new Hammer.Manager(el, {});
mc.add(new Hammer.Tap({ }));
mc.on("tap", function (ev) {
       ev.target.focus()//This allows text fields to be focused on
       ev.target.click()//This allows buttons and other objects to be clicked
});

这最适用于IOS和Android设备,特别是

这不是一个完美的解决方案,但我可以通过将此行放在onMouse函数的顶部来编辑输入。

if (!ev.shiftKey && ev.target.nodeName === 'INPUT') return;

大致翻译成,没有多点触摸,你正在点击输入,好吧,我什么都不做。。。