【问题标题】:How to prevent Mac Safari to select text on right click in contenteditable area如何防止 Mac Safari 在 contenteditable 区域中右键单击时选择文本
【发布时间】:2016-08-09 19:00:09
【问题描述】:

我正在编写编辑器,但遇到了 Mac Safari 的问题。每当用户右键单击一个单词时,它会选择完整的单词并打开菜单

问题可以通过简单的html重现:

<div contenteditable>
  <p>
  This is sample text
  </p>
</div>

它也可以在这里复制: https://plnkr.co/edit/VfxC5JcsI0VzWAQLUG1u?p=preview
我也在右键单击时添加了 preventDeafult 但没有用。

欢迎任何 js/jquery 解决方案。如果我们能找到 CSS 解决方案那就太好了

【问题讨论】:

    标签: jquery html macos safari contenteditable


    【解决方案1】:

    user-select:none 选项不起作用,它不会用鼠标左键选择文本,但是在 Safari 中访问上下文菜单时,它仍然会选择您右键单击的文本。

    对我有用的是使用 javascript 取消选择文本。

    document.getSelection().removeAllRanges();
    

    将上面的代码放入 $('div').contextmenu 方法以使其工作。

    【讨论】:

      【解决方案2】:

      您可以使用-webkit-touch-callout 和/或user-select

      【讨论】:

        猜你喜欢
        • 2021-09-10
        • 2021-04-15
        • 2012-11-22
        • 2019-11-22
        • 2022-01-09
        • 2019-08-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多