1. 程式人生 > >JS-設定/獲取滑鼠游標所在位置;獲取滑鼠點選位置

JS-設定/獲取滑鼠游標所在位置;獲取滑鼠點選位置

滑鼠游標所在位置

// 設定滑鼠游標所在位置.
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}); };