javascript - 移动 Chrome 禁用长按弹出窗口

标签 javascript android google-chrome contextmenu

我们有一个带有自定义上下文菜单的应用程序。每当用户选择文本的特定部分时,都会弹出此自定义上下文菜单并允许用户与其选择进行交互。

在桌面浏览器中,我们可以为上下文菜单添加事件监听器以防止它(防止默认行为)。不过,这不适用于移动版 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/

相关文章:

android - java.lang.NoClassDefFoundError : com. squareup.okhttp.MediaType

android - 无法使用 Material 设计库

android - ProgressDialog 未显示在 Activity 中

css - 空间出现在 SVG 下方(仅在 Google Chrome 中)

javascript - Controller 之间的 Angular 和传递对象

javascript - 在 Javascript 循环内执行 if/else 条件

Javascript 复制日期 + 一年

javascript - Chrome Prerender 功能每次都被取消

javascript - 谷歌的 "Beat the boot"

javascript - 试图理解将对象传递给函数的含义