Skip to content

Instantly share code, notes, and snippets.

@kejun
Created March 25, 2010 03:56
Show Gist options
  • Save kejun/343153 to your computer and use it in GitHub Desktop.
Save kejun/343153 to your computer and use it in GitHub Desktop.
var getCarePos = function (node) {
var range, range2, pos = [];
if (document.selection) {
range = document.selection.createRange();
range2 = range.duplicate();
range2.moveToElementText(node);
range2.setEndPoint('EndToEnd', range);
pos = [range2.text.length - range.text.length, range2.text.length];
} else {
pos = [node.selectionStart, node.selectionEnd];
}
return pos;
},
setCarePos = function (node, pos) {
var range;
if (node.setSelectionRange) {
node.setSelectionRange(pos, pos);
} else if (node.createTextRange) {
range = node.createTextRange();
range.move('character', pos);
range.select();
}
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment