You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
import Vue from 'vue'
|
|
|
|
|
|
|
|
Vue.prototype.GLOBAL ={
|
|
|
|
//用户cookie
|
|
|
|
user_key:'user',
|
|
|
|
//获取当前光标位置
|
|
|
|
getCursortPosition:function(element) {
|
|
|
|
var caretOffset = 0;
|
|
|
|
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);
|
|
|
|
var preCaretRange = range.cloneRange();//克隆一个选中区域
|
|
|
|
preCaretRange.selectNodeContents(element);//设置选中区域的节点内容为当前节点
|
|
|
|
preCaretRange.setEnd(range.endContainer, range.endOffset); //重置选中区域的结束位置
|
|
|
|
caretOffset = preCaretRange.toString().length;
|
|
|
|
}
|
|
|
|
} else if ((sel = doc.selection) && sel.type !== "Control") {//IE
|
|
|
|
var textRange = sel.createRange();
|
|
|
|
var preCaretTextRange = doc.body.createTextRange();
|
|
|
|
preCaretTextRange.moveToElementText(element);
|
|
|
|
preCaretTextRange.setEndPoint("EndToEnd", textRange);
|
|
|
|
caretOffset = preCaretTextRange.text.length;
|
|
|
|
}
|
|
|
|
return caretOffset;
|
|
|
|
}
|
|
|
|
}
|