2015-11-12 10 views
5

Sto lavorando su una semplice nota che prende l'applicazione e utilizza l'editor GhostDown Markdown. È carino, mi piace, ma sono bloccato cercando di impostare il suo valore in modo programmatico.Come impostare il valore di GhostDown Markdown editor

Posso ottenere valori abbastanza facilmente. $ ('Textarea entry-mark-down-content'). Val()

impostazione però è un'altra storia ... :(

prototipo di quello su cui sto lavorando può essere visto a http://potusnotes.com

+0

siete su questo [Ghost-Markdown-Editor] (https: // GitHub. com/timsayshey/Ghost-Markdown-Editor) versione? – Blag

+0

@Blag non sono sicuro, ma se fornisci la risposta per l'ultima versione, sarò sicuro di aggiornare se necessario – Serhiy

+0

era più sulla forcella che sulla versione (Come non trovo un sito ufficiale per l'editor di Markdown GhostDown) ; Ho dato un'occhiata al codice sorgente, ma è un po 'disordinato <_>; sembra avere 'getMarkdown' e' getHtml', ma nessun setter ...; e come usano una sovrapposizione, se non trovi il metodo giusto, è inutile – Blag

risposta

3

per l'editor di parte, Ghost-Markdown-Editor utilizza CodeMirror editor. Quindi, per impostare il valore a livello di codice, che noi chiameremmo esempio di CodeMirror e fare

editor.setValue(txt); 

Ma come per ottenere quell'istanza di CM? È stato creato dal widget con cui è stato creato Ghost-Markdown-Editor. Vedere jquery.ghostdown.js di file:

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

} 

Mentre il widget è stato realizzato con jQuery Widget fabbrica, un'istanza widget è mantenuto inside .data("plugin-name") elemento dell'oggetto è stato utilizzato su.

Così possiamo accedere widget di esempio e il valore editor di impostare in questo modo:

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

O semplicemente

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

Grande, grazie mille, questo esattamente quello che stavo cercando. Pensavo che sarebbe stato qualcosa del genere, ma ho avuto problemi a capirlo da solo. – Serhiy

+0

Contento di aver potuto aiutare! Per fortuna era CodeMirror sotto il cofano. – Vaviloff

Problemi correlati