TinyMCE 4无法输入提供的插件文本字段

rdn*_*man 6 javascript jquery tinymce tinymce-4

在JS(使用JQuery 1.11.1和几个JQuery插件,如form和ui)下使用TinyMCE 4.1.5.我使用的TinyMCE版本不是嵌入式JQuery的版本.

编辑器很好,我可以直接输入它而没有问题.仅使用tinymce提供的插件,使用按钮或非文本字段控件的所有功能都可以正常工作.

但是,插件中的文本字段(例如链接或插入视频)不允许我键入字段或选择其他文本字段(因此它似乎是一个焦点问题).

http://fiddle.tinymce.com/bzeaab/16上有一个小提琴,这里是应用程序中更具体的初始化代码:

var _clear_css_cache;
_clear_css_cache = '/javascripts/canonical/tinymce/skins/lightgray/' +
                   'content.min.css?' +
                   new Date().getTime();

var _toolbar_1, _toolbar_2;
_toolbar_1 = 'formatselect, |, ' +
             'bold, italic, underline, strikethrough, ' +
                'subscript, superscript, |,' +
             'outdent, indent, blockquote, |,' +
             'alignleft, aligncenter, alignright, alignjustify';

_toolbar_2 = 'bullist, numlist, table, charmap, emoticons |,' +
             'link, unlink, |,' +
             'image, media, |,' +
             'code, preview |,' +
             'pasteword, print |,' +
             'undo, redo,';

var _contextmenu;
_contextmenu = 'link image inserttable | ' +
               'cell row column deletetable';

tinymce.init({
  selector: 'textarea.tinymce',
  toolbar: [_toolbar_1, _toolbar_2],
  plugins: [
    'advlist autolink autosave code charmap contextmenu emoticons image', 
    'lists link media paste preview print table'
  ],
  contextmenu: _contextmenu,
  theme: 'modern',
  content_css: _clear_css_cache,
  menubar: false,
  statusbar: false,
  convert_urls: false,
  relative_urls: false,
  invalid_elements: 'script'
});
Run Code Online (Sandbox Code Playgroud)

并插入目标div(与'textarea.tinymce'的子),我使用一个非常标准的调用:

function do_wysiwyg(_div) {
  tinymce.execCommand('mceAddEditor', true, $(_div).attr('id'));
});
Run Code Online (Sandbox Code Playgroud)

我已尝试过几个浏览器本地和BrowserStack,并且没有任何插件文本字段可以在其中任何一个中运行,即使编辑器也可以.

另见使用tinymce with blockui.

思考?提前致谢.

更新(2014年10月7日):想知道z指数是否在干扰,但到目前为止在实验中没有运气.这是一个非常古老的tinymce安装的升级,插件在那里运行良好,所以期望在tinymce代码/调用本身之外没有转换.

更新2(10/7/2014):现在有一个小提琴:http://fiddle.tinymce.com/bzeaab/16.似乎只在使用BlockUI时才会出现!我打赌现在有一个来自BlockUI的焦点陷阱.

rdn*_*man 0

一种似乎有效的解决方案是将bindEvents = false.blockUI 调用作为选项传递(以及msg等)。请参阅http://fiddle.tinymce.com/bzeaab/17了解原始小提琴(http://fiddle.tinymce. com/bzeaab/16)已进行修改以允许插件正常工作。

我担心的是,这种方法会解除 blockUI 覆盖层中所有内容的绑定,而不仅仅是tinymce 插件,因此可能太过分了。

如果您有比这更好的建议,请发表评论或发布不同的答案。在其他人有机会参与之前,我不会接受这个答案。谢谢!

  • [这个](/sf/ask/1878527241/)似乎是一个更好的解决方案。 (2认同)