0

当我加载wysithml5引导编辑器时,此命令或wysihtml5引导支持的任何命令都不起作用。

当我 alerteditor.composer.commands时,它显示为未定义。

我能做些什么来解决这个问题?jQuery 加载了 jQuery-UI,我不知道这是否有帮助。

$(document).ready(function() {
    $('#content').wysihtml5();
    var editor = $('#content').wysihtml5().data("wysihtml5").editor;
    editor.currentView.element.focus();
    editor.composer.commands.exec('insertHTML' , 'Something');`
});

参考编辑器:https ://github.com/xing/wysihtml5

4

1 回答 1

0

在编辑器实例化并加载到页面后不久以编程方式使用命令时,我遇到了这个问题。考虑以下代码:

<textarea id="wysihtml5-textarea" rows="3" autofocus></textarea>

我通过在使用 window.setTimeout 加载编辑器后允许一段时间来解决它。下面的代码是使用“insertImage”命令的示例:

$(function () {
   var editorEle = $('#wysihtml5-textarea');
   var editorToolbarEle = $('#wysihtml5-toolbar');
   var editor = new wysihtml5.Editor(editorEle.prop('id'), {});

   window.setTimeout(function() {
      editor.focus();
      editor.composer.commands.exec("insertImage", { src: 'foo.png', alt: "image.." });
   }, 200);
});

您可以看到此代码正在运行并使用以下 JSFiddle 对其进行测试(删除 setTimeout 以查看错误发生):

http://jsfiddle.net/wv0fbsew/

我在使用分叉版本的编辑器(wysihtml5x)时遇到了这个问题。它不是这个问题中提到的 Bootstrap 版本,也不是我使用的那个,但问题是一样的。

于 2014-10-28T12:55:52.693 回答