html - div 内容可编辑但只读

标签 html contenteditable readonly

我有一个带有一些文本的 div,我希望当光标悬停在这个 div 上时选择文本。如果我让这个 div 保持原样,当我尝试全选 (CTRL+A) 时,我会选择所有页面内容,即所有正文。

为了摆脱这个,我需要为这个 div 使用 contenteditable 属性。

但我不想让人改文字/复制/剪切等等

我尝试对这个 div 使用只读,但不起作用。

有什么建议吗?

PS1:这个div里面还有其他标签(html内容),但我不认为这是个问题。

PS2:这里有一个例子:jsfiddle.net/msakamoto_sf/wfae8hzv/- 但有一个问题。你可以剪切文本:(

最佳答案

keydown 事件中使用 event.metaKey 来检查是否按下了 ctrl(或 mac 上的 cmd)键。您还必须禁用 cutpaste 事件。

<div
  contenteditable="true"
  oncut="return false"
  onpaste="return false"
  onkeydown="if(event.metaKey) return true; return false;">
    content goes here
</div>

关于html - div 内容可编辑但只读,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30273377/

相关文章:

Javascript - 填写输入时启用按钮

html - CSS 背景属性中的 SVG 和 PNG 调整大小

javascript - 当我用 <span> 标签替换字符串时,MutationObserver 创建无限循环

c# - 在构造函数之外设置只读字段的可接受方法

c++ - 从某个时候开始将变量设置为半只读

html - 垂直布局(标题 - 菜单 - 内容 - 底部)

html 中的 php 变量只有 : <? php echo $var; ?>

Javascript 在 ContentEditable div 中设置插入符号位置

javascript - 防止某些内容在 contenteditable td 中被编辑

c# - WinForms 中的只读组合框