Quindi ho un metodo che accetta un tag e avvolge il testo selezionato in quel tag.Inserimento del punto di inserimento dopo un nodo inserito
function wrap(tag)
{
var sel, range;
if (window.getSelection)
{
sel = window.getSelection();
if (sel.rangeCount)
{
range = sel.getRangeAt(0);
var selectedText = range.toString();
range.deleteContents();
range.insertNode(document.createTextNode('['+tag+']'+selectedText+'[/'+tag+']'));
}
}
}
Questo problema con questo però, viene dopo che viene eseguita avvolgendo il testo e inserendo il nodo del cursore (dove sono digitando) è posto prima del testo inserito.
Esiste un modo per inserire il testo e mantenere il segno di fine alla fine?
Si prega di notare che preferirei se ciò potesse essere fatto senza l'uso di jQuery o di qualsiasi altra libreria. Ho solo bisogno che funzioni nel webkit (Safari).
Sei l'uomo :) – endy
@phil mccull +1 per la risposta. e se fosse sufficiente inserire il testo solo in quel div e non in qualsiasi altra parte del documento, quando si fa clic su "wrap"? –
ha ottenuto la risposta alla mia domanda dal link: http://stackoverflow.com/a/8340432/1407434, fiddle aggiornato: http://jsfiddle.net/tM3mA/38/ –