4

我知道以前有人问过这个问题,但我正在尝试通过附加到 tinymce 实例的 jQuery (AJAX) 加载一些 div。

在 AJAX 加载的页面中,有几个 tinymce div,它们是由 PHP 循环创建的;

<div id="editable_ID1"><p>Some text</p></div>
<div id="editable_ID2"><p>Some more text</p></div>

tinymce.init({
        selector: "#editable_ID1",
..............
});

tinymce.init({
        selector: "#editable_ID2",

..............
});

ID1ID2通过 PHP 循环从数据库中动态获取。

我的问题是,我似乎无法加载 tinymce 并将其附加到这些 div 元素。

我见过:

tinyMCE.execCommand('mceAddControl', true, 'id');

但是,这似乎并没有将tinymce附加到元素上

谢谢

jQuery(文档).ready(函数(){

var child = jQuery(this).attr('data-id');

 $.ajax({  
  type: "POST",                                    
  url: '<?php echo url_for('@load_template_from_nav') ?>',
  data: "template_id="+child,                        

  success: function(data)          
  {
    // replace ajax page content
    $('.template-editor-item-replace').html(data);
    tinyMCE.execCommand('mceAddControl', true, 'editable_1');

  } 

 });

});
4

2 回答 2

3

您需要显式调用 ID。利用

tinyMCE.execCommand('mceAddControl', true, 'editable_ID1'); // additionaly editable_ID2
于 2013-06-18T06:29:16.287 回答
1

在处理替换 tinymce 元素的 ajax 时,您需要先删除控件,然后再添加它

$.ajax({  
  type: "POST",                                    
  url: '<?php echo url_for('@load_template_from_nav') ?>',
  data: "template_id="+child,                        
  beforeSend: function(){
    tinymce.execCommand('mceRemoveControl', false, 'editable_1')
  },
  success: function(data)          
  {
    // replace ajax page content
    $('.template-editor-item-replace').html(data);
  },
  complete: function() {
     tinyMCE.execCommand('mceAddControl', true, 'editable_1');
  }
});

在 tinymce v.4 中

$.ajax({  
  type: "POST",                                    
  url: '<?php echo url_for('@load_template_from_nav') ?>',
  data: "template_id="+child,                        
  beforeSend: function(){
    tinymce.remove('#editable_1');
  },
  success: function(data)          
  {
    // replace ajax page content
    $('.template-editor-item-replace').html(data);
  },
  complete: function() {
     tinymce.add('#editable_1');
  }
});
于 2016-08-30T14:16:10.817 回答