如何修复Android版Chrome中游戏长按按钮触发下载菜单的问题?
修复Android版Chrome长按按钮弹出下载菜单的问题
Android版Chrome中长按按钮会触发浏览器默认的上下文菜单(或下载菜单),这会打断你的事件逻辑,导致元素无法正常移动。可以通过以下两步解决:
在事件处理中阻止浏览器默认行为
在mousedown和touchstart事件里调用e.preventDefault(),直接阻止浏览器触发默认的长按菜单。同时建议把timeOut2声明为局部变量,避免全局变量污染。修改后的代码:
$('#right').on('mousedown touchstart', function(e) { e.preventDefault(); // 阻止默认长按行为 let timeOut2 = setInterval(function() { delta = 5; }, 25); }).bind('mouseup mouseleave touchend', function() { $(this).removeClass('active'); clearInterval(timeOut2); });添加CSS禁用用户选择和触摸呼出菜单
额外给按钮添加CSS样式,进一步避免浏览器触发长按相关的默认行为:#right { -webkit-user-select: none; user-select: none; -webkit-touch-callout: none; /* 禁用移动端长按弹出的操作菜单 */ }
内容的提问来源于stack exchange,提问作者mastersam
相关产品推荐
相关产品推荐

