保护DIV元素不被TinyMCE中删除

use*_*ser 6 javascript wordpress jquery tinymce

我正在尝试创建一个场景,其中只能删除DIV中的内容,而不是在WordPress中使用的TinyMCE编辑器中的DIV标签本身.

例如;

<div class="name">

content

</div>
Run Code Online (Sandbox Code Playgroud)

在TinyMCE编辑器中,我希望用户能够删除他/她的"内容",但是为了在删除时禁用退格/删除键,应该禁止这样做.

我想到的可能是某些东西;

<div class="name">

<!-- editable -->

content

<!-- end editable -->

</div>
Run Code Online (Sandbox Code Playgroud)

由于用户没有在TinyMCE Visual窗格中看到HTML - 可能只允许内容中的内容可编辑,一旦识别为空,则禁用所有删除功能(鼠标/键盘)以保留div.

我希望这是有道理的,如果不是,请告诉我,我会尝试提供一些进一步的信息.对于潜在的解决方案,我看起来很高很低,但我不确定解决这个问题的最佳方法.

谢谢.

csg*_*000 5

我写了一个插件,灵感来自 Corepany 的代码。

https://github.com/csga5000/tinymce-prevent-delete

它与tinymce的不可编辑插件配合使用,理论上使您无法删除不可编辑区域。

我出于自己的目的制作了它,但已上传,以便与我有类似需求的任何人都可以使用它。

看:

https://jsfiddle.net/5a5p5vz7/

用法:

索引.html

...
<script src="preventdelete.js"></script>
...
Run Code Online (Sandbox Code Playgroud)

一些文件.js

tinymce.init({
    ...
    plugins: ["noneditable","preventdelete"]
    ...
})
Run Code Online (Sandbox Code Playgroud)


Rob*_*III 2

据我所知,最接近的是NonEditableContent,但这并不能保护 DIV 本身不被删除。还有一种只读模式,根本不允许您编辑任何内容。

您也许可以连接到 TinyMCE 以防止删除受保护的 DIV,但我认为最好的选择是根本不将 DIV 包含在编辑器中,并让用户只编辑其内容。更新内容后,您可以使用您的平台将用户的内容放入 div...

<div class="name">
    <?php echo $content ?>
</div>
Run Code Online (Sandbox Code Playgroud)