未捕获的TypeError:无法读取未定义的tinymce版本4.x的属性“add”

时间:2016-01-05 02:47:19

标签: javascript jquery tinymce

我使用的是小型mce 4.x版本,这是我在html文件中编写的代码

 <script type="text/javascript" src="tinymce/tinymce.min.js"></script>
 <script>
   tinymce.init({
    selector: "textarea#elm1",
    theme: "modern",
    width: 500,
    height: 300,
    plugins: [
         "advlist autolink link image lists charmap print preview hr anchor pagebreak spellchecker",
         "searchreplace wordcount visualblocks visualchars code fullscreen insertdatetime media nonbreaking",
         "save table contextmenu directionality emoticons template paste textcolor"
   ],
      content_css: "css/content.css",
      toolbar: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media fullpage | forecolor backcolor emoticons", 
       style_formats: [
           {title: 'Bold text', inline: 'b'},
           {title: 'Red text', inline: 'span', styles: {color: '#ff0000'}},
           {title: 'Red header', block: 'h1', styles: {color: '#ff0000'}},
           {title: 'Example 1', inline: 'span', classes: 'example1'},
           {title: 'Example 2', inline: 'span', classes: 'example2'},
           {title: 'Table styles'},
           {title: 'Table row 1', selector: 'tr', classes: 'tablerow1'}
      ],
     setup : function(ed) {
        ed.onBeforeRenderUI.add(function(ed, cm) {
         console.log('add function called');
       });
       ed.onLoadContent.add(function(ed, o) {
           console.log('add function called');
      });
}


}); 

<body>
    <textarea id="elm1" name="area"></textarea>
</body>

我收到错误

  

未捕获的TypeError:无法读取未定义的属性'add'   调用onBeforeRenderUI.add()方法

。请帮助我解决此问题。谢谢。

1 个答案:

答案 0 :(得分:1)

感谢您分享适合您的解决方案。 但要正确:问题的解决方案是使用tinymce 4代码(onLoadContent仅与tinymce3一起使用)。 在这里使用它的正确方法是:

 setup : function(ed) {
    ed.on('BeforeRenderUI', function(e) {
     console.log('BeforeRenderUI function called');
   });
   ed.on('LoadContent', function(e) {
       console.log('LoadContent function called');
  });