- var doc = editor.getDoc(), rng, point;
-
- if (doc.caretPositionFromPoint) {
- point = doc.caretPositionFromPoint(e.clientX, e.clientY);
- rng = doc.createRange();
- rng.setStart(point.offsetNode, point.offset);
- rng.collapse(true);
- } else if (doc.caretRangeFromPoint) {
- rng = doc.caretRangeFromPoint(e.clientX, e.clientY);
- } else if (doc.body.createTextRange) {
- rng = doc.body.createTextRange();
-
- try {
- rng.moveToPoint(e.clientX, e.clientY);
- rng.collapse(true);
- } catch (ex) {
- // Append to top or bottom depending on drop location
- rng.collapse(e.clientY < doc.body.clientHeight);
- }
- }
-
- return rng;