javascript - 在管理 TinyMCE 编辑器中突出显示文本而不更改 HTML 源代码?

标签 javascript jquery wordpress tinymce

我自己的插件存储了每篇文章中的一些短句,我需要在文本编辑器中突出显示它们,以便作者看到它们的位置并且不会触及它们。

我现在发现的唯一方法是使用 TinyMCE 事件编辑器的搜索和替换功能,用黄色跨度包裹主题。然后我可以再次搜索和替换并打开它。

    <script>

        jQuery( window ).load(function() {

            var content = tinymce.activeEditor.getContent();

                content = content.replace(
                    "the text to highlight",
                    "<span style='background: yellow;'>the text to highlight</span>"
                );

                tinymce.activeEditor.setContent(content);

        });

    </script>

有没有比提交时撤消更好的解决方案?如果有人更改了短语并且我的展开函数找不到跨度,如何处理?

最佳答案

您是否考虑过使用noneditable插件?这允许您在标签上放置一个属性,使该标签的所有子元素都不可编辑。您还可以使用 CSS 来设置这些不可编辑部分的样式,以明确它们是不可编辑的。

https://www.tinymce.com/docs/plugins/noneditable/

关于javascript - 在管理 TinyMCE 编辑器中突出显示文本而不更改 HTML 源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37105132/

相关文章:

html - 更改菜单栏字体大小

javascript - 选择所有 HTML 复选框

javascript - 在 React 中按 Enter 键时获取文本输入的状态

javascript - 如何从数组中的对象访问值

javascript - HTML、CSS 和 JS 动画多个进度条

jquery - WordPress 4.7 jquery 从头开始​​未定义

wordpress - 如何本地化联系表 7 中的字段标签

javascript - 如何使用 javascript 从 textarea 中删除我的数据?

javascript - 如何在不影响周围 div 的情况下放大父 div 并在悬停时显示隐藏的子 div

jquery - 如何将 json 对象作为属性添加到 html 控件