javascript - TinyMCE 4 有没有办法在编辑时自动附加字符?

标签 javascript tinymce-4

这是 TinyMCE 4.3.13 中的一个问题,是 TinyMCE 4.1.3 以来的新问题。在我们的应用程序中,我们已将forced_root_block 设置为false。当图像是页面上的最后一个元素时,如果您尝试删除它,您会得到:“Uncaught TypeError: Cannot read property 'nodeName' of null”,除非它是页面上的唯一元素。

如果将其包装在另一个元素中,则不会出现此错误,并且图像会被删除。如果图像后面有任何其他项目,即使是单个字符,您也不会收到错误并且图像会被删除。

例如,如果您打开源代码并将其放入:

a <img src="http://ridgeaviation.ie/images/czaw-SportsCruiser-pic01.jpg"/>
b

然后您可以从 UI 中删除该图像。

但是有了这个:

a <img src="http://ridgeaviation.ie/images/czaw-SportsCruiser-pic01.jpg"/>

你不能。

如果你把“ ”放在最后,你将无法删除,因为编辑器显然会 trim 空格,但如果你把“‌”放在最后,它不会被 trim ,是不可见的,并且你可以删除图像。

这是 html:

<!DOCTYPE html>
<html>
<head>
  <script src="//cdn.tinymce.com/4/tinymce.min.js"></script>
  <script>
tinymce.init({
    selector:'textarea',    toolbar: "fontselect fontsizeselect | bold italic underline| bullist numlist outdent indent | alignleft aligncenter alignright alignjustify | forecolor backcolor | link  anchor code",
    menubar: "edit insert view format table tools",
  plugins: [
    'advlist autolink lists link image charmap print preview hr anchor pagebreak',
    'searchreplace wordcount visualblocks visualchars code fullscreen',
    'insertdatetime media nonbreaking save table contextmenu directionality',
    'emoticons template paste textcolor colorpicker textpattern imagetools'
  ],
  image_advtab: true,
force_br_newlines: true,
force_p_newlines: false,
forced_root_block: false
  });
</script>
</head>
<body>
  <textarea>Easy (and free!) You should check out our premium features.</textarea>
</body>
</html>

所以问题是,即使在使用“工具”->“源代码”进行编辑后,是否有某种方法可以自动将“‌”附加到正在编辑的文本中? TinyMCE 3.x 有 cleanup_callback,但在 4.x 中不可用。

最佳答案

您能否使用 TinyMCE change 事件并在末尾查找您的特殊字符,如果不存在则添加它?

例如:

tinymce.init({
    selector: 'textarea',
    ...
    setup: function (editor) {
        editor.on('change', function () {
            console.log('Content changed to:  ' + editor.getContent());
            //Check the content here and add your character to the end if needed
        });
    }
})

这里是如何使用 change 事件的 fiddle ...... http://fiddle.tinymce.com/q0faab

关于javascript - TinyMCE 4 有没有办法在编辑时自动附加字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37756376/

相关文章:

javascript - TinyMCE 为 windowManager 添加自定义控件

javascript - TinyMCE v4 自动完成

tinymce - 将样式应用于 TinyMCE 中的父元素

php - 将 php 数组传递给 jqplot 图表

javascript - React.js - 类型错误 : Cannot read property 'catch' of undefined

javascript - Owl Carousel 2 - 自定义触摸动画

tinymce-4 - TinyMCE 4 默认字体大小

javascript - Delphi Chromium,Javascript 按钮按下

javascript - 通过js或者query强制下载

tinymce - 按两次 Enter 键关闭 block 引用