getCursorPos ( obj) {
var CaretPos = 0 ;
if ( document. selection) {
obj. focus ( ) ;
var Sel = document. selection. createRange ( ) ;
Sel. moveStart ( "character" , - obj. value. length) ;
CaretPos = Sel. text. length;
}
else if ( obj. selectionStart || obj. selectionStart == "0" ) CaretPos = obj. selectionEnd;
return CaretPos;
}
setCursorPos ( obj, pos) {
if ( obj. setSelectionRange) {
obj. focus ( ) ;
obj. setSelectionRange ( pos, pos) ;
} else if ( obj. createTextRange) {
var range = obj. createTextRange ( ) ;
range. collapse ( true ) ;
range. moveEnd ( "character" , pos) ;
range. moveStart ( "character" , pos) ;
range. select ( ) ;
}
}
poLastDiv ( obj) {
obj. focus ( ) ;
if ( window. getSelection) {
obj. focus ( ) ;
let range = window. getSelection ( ) ;
range. selectAllChildren ( obj) ;
range. collapseToEnd ( ) ;
} else if ( document. selection) {
let range = document. selection. createRange ( ) ;
range. moveToElementText ( obj) ;
range. collapse ( false ) ;
range. select ( ) ;
}
}
getCursorWithElement ( ) {
let element = this . getDomWithEventtarget;
var doc = element. ownerDocument || element. document;
var win = doc. defaultView || doc. parentWindow;
var sel;
if ( typeof win. getSelection != "undefined" ) {
sel = win. getSelection ( ) ;
if ( sel. rangeCount > 0 ) {
var range = win. getSelection ( ) . getRangeAt ( 0 ) ;
return range. endContainer. parentElement;
}
}
}
getDomWithCursorPos ( x, y) {
return document. elementFromPoint ( x, y) ;
}