zoukankan      html  css  js  c++  java
  • 浏览器获取鼠标光标坐标

    function getSelectionCoords(win) { 
      win = win || window;
      var doc = win.document; 
      var sel = doc.selection, range, rects, rect; 
      var x = 0, y = 0; 
      if (sel) { 
        if (sel.type != "Control") { 
          range = sel.createRange(); 
          range.collapse(true); 
          x = range.boundingLeft; 
          y = range.boundingTop; 
        } 
      } else if (win.getSelection) { 
        sel = win.getSelection(); 
        if (sel.rangeCount) { 
          range = sel.getRangeAt(0).cloneRange(); 
          if (range.getClientRects) { 
            range.collapse(true); 
            rects = range.getClientRects(); 
            if (rects.length > 0) {
              rect = rects[0]; 
            } 
            if(rect){ 
              x = rect.left; 
              y = rect.top; 
            } 
          }
          if ((x == 0 && y == 0) || rect === undefined) { 
            var span = doc.createElement("span"); 
            if (span.getClientRects) {
              span.appendChild(doc.createTextNode("u200b")); 
              range.insertNode(span); 
              rect = span.getClientRects()[0]; 
              x = rect.left; 
              y = rect.top; 
              var spanParent = span.parentNode; 
              spanParent.removeChild(span);
              spanParent.normalize(); 
            } 
          } 
        } 
      } 
      return { x: x, y: y }; 
    }
  • 相关阅读:
    Mysql 之根据经纬度按距离排序
    Python的列表和元组
    go实现堆排序、快速排序、桶排序算法
    微信Hook劫获protobuf数据
    手机号批量查询微信昵称/网名/名称
    保存整个网页的内容
    天地图官网引入文件
    Postman-动态传参
    JAVA FileOutputStream与BufferedOutputStream的区别
    JAVA中sleep()和wait()的区别
  • 原文地址:https://www.cnblogs.com/litings/p/13862396.html
Copyright © 2011-2022 走看看