Press 手势在移动端为什么没反应? 上官东俊 提问于 2026-03-19 20:33:14 阅读 3 移动 我在用 Hammer.js 做一个移动端的长按删除功能,绑定了 press 事件,但在手机上点按完全没触发,试了 preventDefault 也没用。本地开发环境 Chrome 模拟器倒是能识别,真机就不行,是不是我样式哪里挡住了? 这是我的按钮样式: .delete-btn { touch-action: manipulation; -webkit-tap-highlight-color: transparent; user-select: none; } 我来解答 赞 0 收藏 分享 生成中... 手机扫码查看 复制链接 生成海报 反馈 发表解答 您需要先 登录/注册 才能发表解答 1 条解答 Designer°志红 Lv1 问题不是样式挡住,是移动端长按会触发系统上下文菜单,把你的 press 事件吞了。 在按钮上阻止默认的 contextmenu 事件就行: const btn = document.querySelector('.delete-btn'); btn.addEventListener('contextmenu', (e) => { e.preventDefault(); }); const hammer = new Hammer(btn); hammer.on('press', () => { // 删除逻辑 }); 或者直接在整个按钮上加 oncontextmenu="return false" 也行。 回复 点赞 2026-03-19 21:00 加载更多 相关推荐 2 回答 44 浏览 为什么Vue手势识别的Press事件无法触发? 在移动端项目里用Vue3和@vueuse/core的usePress做长按操作,但按了按钮完全没反应... 代码是这样写的: <template> <button ref="... ❤晓萌 移动 2026-02-12 00:53:27 1 回答 23 浏览 Press手势在移动端怎么才能准确触发? 我在用 Vue 开发一个移动端的按钮组件,想实现长按(Press)效果,但发现有时候点一下就触发了,有时候又完全没反应。我试过用 touchstart 和 touchend 计算时间差,但体验很不稳定... 欧阳乙豪 移动 2026-03-11 17:54:22 1 回答 17 浏览 keypress 事件为什么监听不到方向键? 我在写一个用键盘控制的小游戏,想用 keypress 事件监听方向键(上下左右),但发现根本没反应。查了下文档说 keypress 只对能产生字符的按键有效,那方向键这种功能键该怎么监听才对? 我试过... Newb.梓轩 交互 2026-03-16 13:00:23 2 回答 27 浏览 为什么我的keypress事件无法捕获Enter键的输入? 我正在给一个搜索输入框添加键盘交互,想用keypress事件监听回车键触发搜索。按回车时控制台没有任何反应,但用keydown却能正常触发。我试过检查事件对象的keyCode和key属性,发现keyp... 一玉惠 交互 2026-02-10 20:32:26 2 回答 17 浏览 为什么 keypress 事件在 Vue 里监听不到方向键? 我最近在用 Vue 做一个简单的键盘控制功能,想用 keypress 监听方向键(比如左、右箭头),但发现完全没反应。查了文档说 keypress 只对能产生字符的按键有效,那是不是意味着方向键根本不... Mr-俊鑫 交互 2026-03-01 01:43:20 2 回答 80 浏览 为什么keypress事件无法捕获输入的字符? 在给输入框做实时验证时发现,用keypress事件监听输入,event.charCode返回的值总不正确,比如输入字母a会得到97,但转成字符串却变成undefined... 尝试过这样写: inpu... 闲人树珂 交互 2026-02-14 11:28:31 2 回答 45 浏览 为什么keypress事件检测到的大写字母显示为小写? 我给输入框绑定了keypress事件,想记录用户输入的每个字符。但发现当按下Shift+字母键时(比如Shift+A),event.key返回的始终是小写字母"a",而不是预期的大写"A"。这该怎么正... 南宫思晨 交互 2026-02-09 14:15:34 2 回答 48 浏览 VuePress构建SSR时为什么静态资源路径不对? 在开发VuePress主题时遇到了奇怪的问题,当我用vite build构建SSR版本,生成的HTML里静态资源路径变成了绝对路径。比如在主题布局文件里写的<link rel="styleshe... 萌新.艳君 框架 2026-02-06 17:39:26 1 回答 16 浏览 Express 中如何正确设置静态文件路径? 我在用 Express 搭一个简单的前端页面,把 HTML 和 CSS 放在 public 文件夹里,但浏览器一直报 404 找不到样式文件。我明明用了 express.static 啊? 这是我的目... 上官雅茹 前端 2026-03-15 12:22:23 1 回答 38 浏览 VuePress 中如何正确引入自定义 HTML 组件? 我在 VuePress 项目里想嵌入一段静态的 HTML 内容,比如一个带样式的提示框,但直接写在 Markdown 里样式不生效。我试过用 ::: v-pre 包裹,也试过在 .vuepress/c... Dev · 锦玉 框架 2026-03-12 03:16:21
在按钮上阻止默认的 contextmenu 事件就行:
或者直接在整个按钮上加
oncontextmenu="return false"也行。