我正在处理简单的笔记应用程序并使用GhostDown Markdown编辑器。它非常好,我喜欢它,但我仍然试图以编程方式设置它的价值。
我可以很容易地获得价值。 $(' .entry-markdown-content textarea')。val()
然而,设置它是另一个故事...... :( 看到我工作的原型答案 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");