在可连接的元素内创建一个不可编辑的块
Make an uneditable block inside a contanteditable element
我想在TinyMCE中放入一个不可编辑的元素,该元素本身可以像<img一样被选择,剪切,粘贴和拖动>但它的内容是不可编辑的。
我尝试了
与Chrome。它不可编辑。但它也不能被选择或拖动。
有没有办法在内容可编辑区域中使复合元素(如
)原子化,就像角色或图像一样。
一个技巧是使用input[type="button"]
,因为它们即使在contenteditable
区域中也是不可编辑的。
<textarea>
<p>This is editible content.</p>
<input value="This is uneditable content." type="button" draggable="true" style="border: 0; background: transparent; padding: 0; margin: 0; font-family: inherit" />
</textarea>
<script>
tinyMCE.init({ mode: 'textareas' });
</script>
TinyMCE 小提琴
它并不完美,因为输入不能有子元素。
如果需要显示动态 HTML,可以将 HTML 呈现为 canvas 元素(使用 html2canvas 或等效项),然后将input[type="button"]
的背景图像设置为在画布上调用getDataURL
获得的字符串。(您还需要计算呈现的 HTML 的高度和宽度,并设置input[type="button"]
高度和宽度以匹配。
我发现维基百科的新所见即所得编辑器已经实现了这一点。页面底部相关主题的参考编号和表格是可拖动的。它们都是复合元素。
当鼠标悬停在设计为整体可拖动的元素上时,它会在其上放置一个不可拖动的不可编辑的
作为保护器。单击保护程序时,它将替换为透明的
。因此,用户实际拖动的是
。用户删除
后,它将最初位于
下的元素移动到新位置。
相关文章:
- 一个页面上有多个Ace编辑器,没有预先设置元素
- 在 SlickGrid 中编辑后,根据不同列中的另一个单元格清除单元格
- 如何使用一个按钮编辑和保存使用Javascript
- 代理一个网站能够在iframe中进行所见即所得编辑-它是如何工作的
- 什么'是从对象列表中一次编辑一个对象的正确Angular/Firebase方法
- 请我需要一个可以编辑mp3 URL的JavaScript代码
- 内容可编辑-根据类型从一个跨度到另一个跨度克隆文本
- 我在Phaser有一个项目.我想在画布上的元素上做一个用户图像编辑器
- 如何在一个页面中使用多个markDown编辑器
- 制作一个“;输入“;按钮文本不可编辑
- jQueryAjax SQL-如果我在多个用户上单击编辑,则Ajax会更新我单击的所有内容.不是最后一个点击
- 当一个单元格被编辑时,是否有一个事件触发,但值没有'不要改变
- 在表中,每行都有一个编辑按钮.显示或隐藏按钮取决于本行中的另一个值
- 让span元素提交一个编辑表单
- 如何在一个编辑器中使多个行块只读
- 用一个编辑按钮在两个表单之间切换
- 如何加载一个编辑器
- 当我点击另一个x编辑时,关闭模糊不工作
- 使用Flux构建一个编辑表单,它实际向服务器发送数据:动作、存储、视图
- 我如何使用fanybox弹出一个编辑表单与现有的值填充