Ho questo pezzo di codice, che io uso per ottenere la posizione del cursore in un div modificabile:Come selezionare i tag html con i loro contenuti quando si utilizza selectNodeContents?
function getMeCurPos(element){
if (typeof window.getSelection != "undefined") {
var range = window.getSelection().getRangeAt(0);
var preCaretRange = range.cloneRange();
preCaretRange.selectNodeContents(element);
preCaretRange.setEnd(range.endContainer, range.endOffset);
caretOffset = preCaretRange.toString().length;
return caretOffset;
}
}
Il problema è che, il caretOffset restituito conta solo il contenuto testuale e non i tag HTML. Per esempio:
Considerate questa stringa nella mia div modificabile: Hey <b>jony</b>, whats goin on in the | party
* Il cursore è indicata da |
carattere.
Fare getMeCurPos (ele) restituisce: 30
ma deve restituire 37
. Non conta b
tag
Chiunque con una risposta ..... –
cercato di impostare il codice. puoi fornire un [jsfiddle] (http://jsfiddle.net) che mostra una versione funzionale del tuo codice attuale? – asifrc