如何设置GhostDown Markdown编辑器的值

时间:2015-11-12 15:48:23

标签: javascript markdown

我正在处理简单的笔记应用程序并使用GhostDown Markdown编辑器。它非常好,我喜欢它,但我仍然试图以编程方式设置它的价值。

我可以很容易地获得价值。 $(' .entry-markdown-content textarea')。val()

然而,设置它是另一个故事...... :(

我可以在http://potusnotes.com

看到我工作的原型

1 个答案:

答案 0 :(得分:3)

对于编辑器部分,Ghost-Markdown-Editor使用CodeMirror editor。 因此,要以编程方式设置值,我们将调用CodeMirror的实例并执行

var items = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18];
var size = 6, grouped = [];
for ( var i = 0 ; i < items.length ; i+= size ) {
    grouped.push(items.slice(i,i+size));
}
console.log(grouped);

但是如何获得CM实例?它是由创建Ghost-Markdown-Editor的小部件创建的。请参阅 jquery.ghostdown.js 文件:

editor.setValue(txt);

由于小部件是使用jQuery Widget工厂制作的,因此小部件实例将保留其所用对象的inside .data("plugin-name")元素。

因此我们可以像这样访问widget实例并设置编辑器值:

$.widget( "b4m.ghostDown", {
    editor: null,
    // ...
    _create: function() {
        // ...
        this.editor = CodeMirror.fromTextArea(this.element.find('textarea')[0], {
            mode: 'markdown',
            tabMode: 'indent',
            lineWrapping: true
        });
    }

}

或者只是

var ghostdown = $(".editor").data("b4m-ghostDown");
ghostdown.editor.setValue("# Hello, SO");