tinymce getcontent 不起作用

问题描述 投票:0回答:2
tinymce.get('content').getContent 

不起作用。

这是我的代码。你可以看到我尝试过的不同事情的所有不同评论。我有

alert('end');

最后只是作为测试来看看代码是否正常工作。目前不是,除非我注释掉与tinymce相关的任何不是初始化程序的内容。这些功能在文档中已准备好。

为什么tinymce 无法获取内容?

<script>
    $(document).ready(function () {
        tinymce.init({
            selector: '#mytextarea',
            inline: true
        });
        //$('input').keyup(function () {
        //    //alert("keyed");
        //    $('[name="' + $(this).attr('name') + '"]').val($(this).val());
        //});        
        //$('.artBodyText').keyup(function () {
        //    alert("keyed");
        //    $('[name="' + $(this).attr('name') + '"]').val($(this).val());
        //});
        //$('#mytextarea').keyup(function () {
        //    alert("keyed");
        //    $('[name="' + $(this).attr('name') + '"]').val($(this).val());
        //});
      // var x = tinymce.get('#mytextarea').getContent();
        //var y = $('mytextarea').tinymce().getContent();
        alert(tinymce.get('mytextarea').getContent());
        alert("end");
    });
</script>

这与 Firefox 还是我加载编辑器的方式有关?注意 - 编辑器在我的表单上非常适合提交和发布数据。

jquery asp.net-mvc tinymce-4
2个回答
2
投票

您试图在编辑器完全初始化之前调用

getContent()
init()
方法是异步,我怀疑您的警报在编辑器完全初始化之前正在运行。

确保等待编辑器完全初始化的最简单方法是依赖编辑器提供的 init 事件:

tinymce.init({
  selector: '#myTextarea',
  ...
  ...
  setup: function (editor) {
    editor.on('init', function () {
      // This is a common function for loading initial content into TinyMCE 
      editor.setContent('Using the on init stuff!');
      // You could run your alert here as you know the editor in initialized
      alert(tinymce.get('mytextarea').getContent());
    });
  }
});

0
投票

使用SetTimeout,导致编辑器加载文本区域的时间很晚,需要长达5000毫秒才能完全加载tinymce。因此,没有时间的代码将在编辑器之前运行,这就是为什么您必须延迟 get() 和 getContent() 的原因。我希望这对您有帮助,兄弟

© www.soinside.com 2019 - 2024. All rights reserved.