如何防止Mac Safari在可疑区域中右键单击选择文本

时间:2016-04-18 06:53:59

标签: jquery html macos safari contenteditable

我正在编辑并正面临Mac Safari的问题。每当用户右键单击一个单词时,它会选择完整的单词以及打开菜单

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

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

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

欢迎使用任何js / jquery解决方案。如果我们能找到一个CSS解决方案,那就太棒了

2 个答案:

答案 0 :(得分:1)

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

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

document.getSelection().removeAllRanges();

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

答案 1 :(得分:0)

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