| function getSelectionString(el, win) { | |
| win = win || window; | |
| var doc = win.document, sel, range, prevRange, selString; | |
| if (win.getSelection && doc.createRange) { | |
| sel = win.getSelection(); | |
| if (sel.rangeCount) { | |
| prevRange = sel.getRangeAt(0); | |
| } | |
| range = doc.createRange(); | |
| range.selectNodeContents(el); | |
| sel.removeAllRanges(); | |
| sel.addRange(range); | |
| selString = sel.toString(); | |
| sel.removeAllRanges(); | |
| prevRange && sel.addRange(prevRange); | |
| } | |
| else if (doc.body.createTextRange) { | |
| range = doc.body.createTextRange(); | |
| range.moveToElementText(el); | |
| range.select(); | |
| } | |
| return selString; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment