4

我用 jQuery 为 tinymce 创建了一个外部浮动工具栏。

tinyMCE.init({

    ...
    theme_advanced_toolbar_location : "external",
    theme_advanced_toolbar_align : "left",
    theme_advanced_statusbar_location : "top",
    theme_advanced_resizing : false,

    // make toolbar dragable
    handle_event_callback : function(e) {
        if (e.type == 'click') {
            $('.mceExternalToolbar').draggable();
        }
        return true;
    },
    ...
});

它可以工作,但是每次我单击 时textarea,工具栏都会弹回到textarea.

如果我在 中单击移动textarea工具栏,然后在 中单击返回textarea,工具栏会弹回到textarea.

任何想法为什么会发生这种情况以及如何阻止它?

4

1 回答 1

0

发生这种情况是因为工具栏 (editor_template.js) 的代码在每次编辑器处理鼠标向上事件时定位它。

我设法通过更改外部工具栏的 id 来解决它:

if (e.type == "click")
{
   var oldid = $(".mceExternalToolbar").attr("id");
   $(".mceExternalToolbar").attr("id", oldid+"_new");
   $(".mceExternalToolbar").draggable();
}

这可能还有其他一些影响,但它似乎适用于我有限的测试。

于 2013-03-18T14:18:01.363 回答