function getCaretCharacterOffsetWithin(element) { var doc = element.ownerDocument || element.document; var win = doc.defaultView || doc.parentWindow; var sel, range, preCaretRange, caretOffset = 0; if (typeof win.getSelection != "undefined") { sel = win.getSelection(); if (sel.rangeCount) { range = sel.getRangeAt(0); preCaretRange = range.cloneRange(); preCaretRange.selectNodeContents(element); preCaretRange.setEnd(range.endContainer, range.endOffset); caretOffset = preCaretRange.toString().length; } } else if ((sel = doc.selection) && sel.type != "Control") { range = doc.selection.createRange(); preCaretRange = doc.body.createTextRange(); preCaretRange.moveToElementText(element); preCaretRange.setEndPoint("EndToEnd", textRange); caretOffset = preCaretTextRange.text.length; } return caretOffset; }
contentWindow
iframe
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)