2015-11-12 7 views
5

Ich arbeite an einer einfachen Notiz Anwendung und Verwendung von GhostDown Markdown-Editor. Es ist ziemlich nett, ich mag es, aber ich stehe fest und versuche es programmatisch zu setzen.Wie setze ich den Wert von GhostDown Markdown-Editor

Ich kann Werte leicht herausbekommen. $ ('Einstiegs-Abschlags-Inhalt Textarea'). Val()

Einstellung aber es ist eine andere Geschichte ... :(

Prototyp dessen, was ich arbeite kann bei http://potusnotes.com

zu sehen
+0

Sie sind auf dieser [Geist-Markdown-Editor] (https: // GitHub. com/timsayshey/Ghost-Markdown-Editor) Version? – Blag

+0

@Blag nicht sicher, aber wenn Sie die Antwort für die neueste Version bereitstellen, werde ich sicher sein, bei Bedarf zu aktualisieren – Serhiy

+0

es war mehr über die Gabel als die Version (Da ich keine offizielle Website für GhostDown Markdown-Editor finden) ; Ich habe einen Blick auf den Quellcode geworfen, aber es ist ein wenig unordentlich <_>; es scheint 'getMarkdown' und' getHtml' zu haben, aber kein Setter ...; und da sie eine Überlagerung verwenden, wenn Sie nicht die richtige Methode finden, ist es sinnlos – Blag

Antwort

3

Für die Editor Teil Ghost-Markdown-Editor CodeMirror editor verwendet. also Wert programmatisch zu setzen, würden wir Codemirror der Instanz und tun

editor.setValue(txt); 

Aber nennen, wie um diese CM-Instanz zu bekommen? Es wurde mit dem Widget erstellt, mit dem der Ghost-Markdown-Editor erstellt wurde. Siehe jquery.ghostdown.js Datei:

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

} 

Wie das Widget mit jQuery Widget Fabrik hergestellt wurde, ist eine Widget-Instanz inside .data("plugin-name") Element des Objekts gehalten wurde verwendet, auf.

So können wir Widget-Instanz und setzen Editor Wert wie folgt zugreifen:

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

Oder einfach

$(".editor").data("b4m-ghostDown").editor.setValue("# Hello, SO"); 
+1

Großartig, vielen Dank, das genau, was ich gesucht habe. Ich dachte, es wäre so etwas, aber ich hatte Schwierigkeiten, es selbst herauszufinden. – Serhiy

+0

Ich bin froh, dass ich helfen konnte! Zum Glück war es CodeMirror unter der Haube. – Vaviloff

Verwandte Themen