【问题标题】:Disabling the 'Copy' feature in iPad Safari browser禁用 iPad Safari 浏览器中的“复制”功能
【发布时间】:2013-01-26 18:49:26
【问题描述】:

iOS6 中的iPad 的Safari 中,我想选择文本,然后使用JavaScript 突出显示它(更改背景颜色)。但是,当我进行文本选择时,会自动弹出“复制”选项。我将如何禁用此“复制”选项?除了iPad Safari,我可以在其他所有浏览器上使用它。

这可能吗?我该怎么办?

【问题讨论】:

  • 我认为这是你需要的,如果不是请告诉我。
  • Trufa - 我需要选择文本,然后更改所选文本的背景(变为黄色或其他东西,即突出显示它)。移动 Safari 中的问题是,一旦我选择了文本,就会弹出一个“复制”按钮。我可以禁用“复制”功能,即实际上不复制任何内容,但我无法阻止该按钮首先弹出
  • 恐怕如果文本是可选择的,复制弹出窗口会弹出,你不能改变它......我只会说这个作为评论,因为我不确定。

标签: javascript jquery ios ipad mobile-safari


【解决方案1】:

除了接受的答案;

仅将上述属性赋予载体 div 或 body 元素,持有一些对象(图像和 SVG 元素等)仍会显示工具提示。

* {
-webkit-user-select: none;
-webkit-tap-highlight-color: rgba(0,0,0,0);
}

将属性赋予所有元素 (*) 对我来说很有效。


另外我猜用户选择的文本输入有问题/错误,所以你可能想排除它。

input {
-webkit-user-select: auto;
}

【讨论】:

    【解决方案2】:

    如果您想禁用通过按住调用的“剪切/复制/粘贴” 在 iPhone 或 iPad 上的 Safari 中使用 css:

    -webkit-user-select: none;
    

    来自 Disabling ‘hold to copy’ on Mobile Safari 的信息,由 Ben Collier 发布


    -webkit-tap-highlight-color 属性接受任何标准 CSS 颜色值,但您可能希望在 为了控制阿尔法透明度。禁用点击突出显示 就像将 alpha 值设置为 0 一样简单,如下所示:

    container {
      -webkit-tap-highlight-color: rgba(0,0,0,0);
    }
    

    来自 Quick Tip: Customizing the Mobile Safari tap highlight color 的信息由 Ryan Grove 发布


    所以我会使用 css 而不是 javaScript。

    【讨论】:

    • 这会阻止文本选择,但不幸的是并没有解决我的问题。
    • 再看,我建议用css去
    • 让我试试这个。谢谢,Comradsky
    • 嘿,你成功了吗,还是需要帮助。
    • 感谢您的检查,Comradsky。我无法让它按照我想要的方式工作。突出显示后,我必须保存它,以便用户下次进入时可以看到他们的旧突出显示(某种方式表明该选择已完成突出显示)。从我所见,您建议的那个仅允许您在点击文本时更改默认颜色。让我知道我是否错了。再次感谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 2011-06-08
    • 1970-01-01
    • 2012-05-23
    • 2020-10-22
    • 1970-01-01
    • 2011-08-25
    相关资源
    最近更新 更多