Mam ten fragment kodu, który mam użyć, aby uzyskać pozycję kursora w edytowalny Gr:Jak wybrać znaczniki html wraz z ich zawartością podczas korzystania z 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;
}
}
Problem polega na tym, caretOffset wrócił liczy się tylko zawartość tekstową i nie znaczniki HTML. Dla np
Rozważmy następujący ciąg w moim edycji div: Hey <b>jony</b>, whats goin on in the | party
* kursora oznaczamy |
charakteru.
Powoduje, że getMeCurPos (ele) zwraca: 30
, ale powinien wrócić 37
. To się nie liczy b
tagów
Każdy z odpowiedzią ..... –
próbuje skonfigurować swój kod. czy możesz podać [jsfiddle] (http://jsfiddle.net), który pokazuje funkcjonalną wersję twojego obecnego kodu? – asifrc