Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 使TinyMCE在工作台上正常工作_Jquery_Jquery Plugins_Tinymce_Jeditable - Fatal编程技术网

Jquery 使TinyMCE在工作台上正常工作

Jquery 使TinyMCE在工作台上正常工作,jquery,jquery-plugins,tinymce,jeditable,Jquery,Jquery Plugins,Tinymce,Jeditable,我正在使用原地编辑JQuery插件,JEditable: 我想在编辑时使用TinyMCE,所以我找到了一些额外的脚本使其工作: 我遇到的问题是,在我第一次尝试编辑某些内容时,JEditable或TinyMCE会崩溃,但之后它会完美地工作!具体来说,当我第一次单击要编辑的区域时,TinyMCE会加载,但当我单击textarea时,textarea会消失并成为我要编辑的div(好像我从未单击过要编辑一样)。但是,之后,除非我刷新页面,否则该插件工作正常 代码 因此,我发现的一个“解决方案”是使用IP

我正在使用原地编辑JQuery插件,JEditable:

我想在编辑时使用TinyMCE,所以我找到了一些额外的脚本使其工作:

我遇到的问题是,在我第一次尝试编辑某些内容时,JEditable或TinyMCE会崩溃,但之后它会完美地工作!具体来说,当我第一次单击要编辑的区域时,TinyMCE会加载,但当我单击textarea时,textarea会消失并成为我要编辑的div(好像我从未单击过要编辑一样)。但是,之后,除非我刷新页面,否则该插件工作正常

代码

因此,我发现的一个“解决方案”是使用IPWEditor(http://spacebug.com/projects/ipweditor_in-place_wysiwyg_editor/)

它似乎没有表那么多的功能。它使用“可编辑”,但将来可能支持“可编辑”


如果有人设法解决了JEditable的问题,或者有更好的插件,请告诉我。

我注意到的第一件事是,你的
initMCE()
方法与链接中的方法不完全相同(我无法访问该站点,但能够从Google缓存中提取它)。具体来说,
模式
应该是
none


查看TinyMCE文档,似乎
模式:“textarea”
用于自动附加到
元素。然而,
mode:'none'
是用于通过编程将编辑器添加到字段中,这正是JEditable插件所要做的。

此外,如果TinyMCE文本区域消失,我怀疑单击它会模糊焦点,而JEditable会取消编辑(这是默认设置)。为了解决这个问题,将参数
onblur:“ignore”
添加到JEditable配置中。嘿,plecong。我有tinymce的初始配置,如网站中所述,并且有相同的问题。不过我会在Blur上退房然后回来。谢谢添加参数onblur:“忽略”有效!谢谢你的帮助!没问题。我找到了你的帖子,因为我也在尝试使用TinyMCE和Jeditable。我最终放弃了它,取而代之的是cleditor,因为我不需要那么多功能。
        <script type="text/javascript" src="jscripts/tinymce/jscripts/tiny_mce/tiny_mce.js"></script> <!-- TinyMCE -->
        <script type="text/javascript" src="jscripts/jquery-1.5.1.min.js"></script> <!-- JQuery-->
        <script type="text/javascript" src="jscripts/jquery.jeditable.mini.js"></script><!-- JEditable plugin-->
        <script type="text/javascript" src="jscripts/jquery.tinymcehelper.js"></script>
        <script type="text/javascript" src="jscripts/jquery.company.js"></script>
<div class="editable_textarea">Edit this div</div>
$.fn.tinymce = function(options){
   return this.each(function(){
      tinyMCE.execCommand("mceAddControl", true, this.id);
   });
}

function initMCE(){
   tinyMCE.init({
        mode : "textarea",
        theme: "advanced",
        height: "100",
        plugins: "table, tinyautosave, imagemanager, spellchecker, autoresize",
        theme_advanced_buttons1_add_before : "tinyautosave, code, separator, delete_table",
        theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,fontsizeselect,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,code,|,forecolor,backcolor,|,insertimage,spellchecker",
        theme_advanced_buttons2 : "",
        theme_advanced_buttons3 : "",
        theme_advanced_toolbar_location : "top",
        theme_advanced_toolbar_align : "left"
    });
}

initMCE();

$.editable.addInputType('mce', {
   element : function(settings, original) {
        var textarea = $('<textarea id="'+$(original).attr("id")+'_mce"/>');
        if (settings.rows) {
           textarea.attr('rows', settings.rows);
        } else {
           textarea.height(settings.height);
        }
        if (settings.cols) {
           textarea.attr('cols', settings.cols);
        } else {
           textarea.width(settings.width);
        }
        $(this).append(textarea);
           return(textarea);
        },
        plugin : function(settings, original) {
           tinyMCE.execCommand("mceAddControl", true, $(original).attr("id")+'_mce');
           },
        submit : function(settings, original) {
           tinyMCE.triggerSave();
           tinyMCE.execCommand("mceRemoveControl", true, $(original).attr("id")+'_mce');
           },
        reset : function(settings, original) {
           tinyMCE.execCommand("mceRemoveControl", true, $(original).attr("id")+'_mce');
           original.reset();
   }
});
// Jeditable customization
$(function(){
       $(".editable_textarea").editable('ajax/save.php?editnotetext',
        {
          type : 'mce',
          indicator : 'Saving...',
          tooltip : 'Click to edit...',
          name : 'note_text',
          submit : 'OK',
          cancel : 'Cancel',
          height : '100px'
       });
      $(".dblclick").editable('ajax/save.php?editnotename', { 
        tooltip   : 'Doubleclick to edit...',
        indicator : 'Saving...',
        event   : 'dblclick',
        name : 'name',
        style   : 'inherit'
      });
});