我们有一个带有自定义上下文菜单的应用程序。每当用户选择文本的特定部分时,都会弹出此自定义上下文菜单并允许用户与其选择进行交互。
在桌面浏览器中,我们可以为上下文菜单添加事件监听器以防止它(防止默认行为)。不过,这不适用于移动版 Chrome(Android)。
每当我们在移动 Chrome 上选择某些内容(按住点击)时,我们的自定义上下文菜单顶部都会出现一个上下文菜单:“复制共享全选”。
我们如何禁用默认的移动 Chrome 上下文菜单,以便显示我们自己的上下文菜单?文本应保持可选状态。
最佳答案
使用 Android 6.0.1 上的 Chrome 59:
我在以下情况下遇到了同样的问题:
我的页面可以选择在我的主文档前面放置很多小 div 作为标签/注释。我使用“position:absolute”和 z-index 来执行此操作。
当我这样做并尝试打开上下文菜单时,我会看到“复制共享全选”菜单。
如果我在触摸启动时小心地避开所有小 div,那么我的上下文菜单将在长按时出现。
我通过将其innerHTML 设置为null 来“让开”它们。我没有为 div 设置 style.width 或 style.height 。简单地将它们的 (style.left, style.top) 设置为 (window.innerWidth, window.innerHeight) 似乎不起作用。
希望这有帮助。
关于javascript - 移动 Chrome 禁用长按弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44920756/