JS-設定/獲取滑鼠游標所在位置;獲取滑鼠點選位置
阿新 • • 發佈:2019-01-01
滑鼠游標所在位置
// 設定滑鼠游標所在位置.
function setCaretPosition(elem, pos){//設定游標位置函式
if(elem.setSelectionRange) {
elem.focus();
elem.setSelectionRange(pos,pos);
} else if (elem.createTextRange) {
var range = elem.createTextRange();
range.collapse(true);
range.moveEnd('character' , pos);
range.moveStart('character', pos);
range.select();
}
}
// 獲取滑鼠游標所在位置.
function getCaretPosition(element) {
var cursorPos = 0;
if (document.selection) {//IE
var selectRange = document.selection.createRange();
selectRange.moveStart('character', -element.value.length);
cursorPos = selectRange.text.length;
} else if (element.selectionStart || element.selectionStart == '0') {
cursorPos = element.selectionStart;
}
return cursorPos;
}
獲取滑鼠點選位置demo
/*獲取滑鼠點選位置-該方法用於點選使用者頭像顯示詳情.*/
// 點選頁面任意位置都隱藏相應元素.
$(document).click(function(){
// 隱藏相應元素.
$(".element").hide();
// 阻止冒泡事件,即document事件對該屬性元素無效.
$(".element").click(function(event){
event.stopPropagation();
});
});
document.onclick=function(event){
var e = event || window.event;
var yy = e.clientY + document.body.scrollTop;
var xx = e.clientX;
// console.log(yy+','+xx);
var top = yy-200;
var left = xx+30;
// 滑鼠點選到最右側範圍.
if (xx > 1000) {
top = yy-180;
left = xx-300;
}
if (yy > 600) {
top = yy-260;
}
if (yy < 150) {
top = yy+20;
}
$('.element').css({top: top, left:left});
$('.element').css({top: top, left:left});
};