2013-01-16 16 views
6

Voglio fare alcune estensioni a CodeMirror. Il metodo addWidget sembra un promettente punto di partenza. La documentazioneCodeMirror - cos'è addWidget e come si usa?

addWidget (pos, nodo, scrollIntoView) mette nodo, che dovrebbe essere un posizionato in modo assoluto nodo DOM, nel montaggio, posizionato proprio sotto dato {, ch line} posizione. Quando scrollIntoView è true, l'editor garantisce che l'intero nodo sia visibile (se possibile). Per rimuovere di nuovo il widget, utilizzare semplicemente i metodi DOM (spostarlo da qualche parte su oppure chiamare removeChild sul suo genitore).

Non capisco cosa significhi o cosa lo utilizzerei. Non riesco a trovare un utilizzo di esso nella codebase CodeMirror né altrove in Google.

risposta

3

è necessario passare un nodo html e una posizione e un valore booleano

// create a node 
var htmlNode =document.createElement("h1"); 
var text = document.createTextNode("Text or whatever"); 
htmlNode.appendChild(text) 

// call this after you initialized the editor. 
// the position must be like this {ch: YourCharecterNumber, line: YourLineNumber} 
editor.addWidget({ch:30 , line: 1},htmlNode, true) 
+0

bene, ho capito la firma del metodo, quello che io non sono sicuro di quello che ho userei questo per. Che cosa fa? Che cos'è un caso d'uso? –

+0

L'ho usato per aggiungere un widget autoComplete personalizzato. – aljordan82

+0

Quindi lo usi per aggiungere altri elementi DOM in una posizione particolare nell'editor? In che modo ha funzionato per il completamento automatico? Non dovresti aggiungere un widget mentre il cursore è attualmente (presumo che fosse il modo familiare di eseguire il completamento automatico tramite pop-up)? –