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 }; 
    }
  • 相关阅读:
    各种redis的介绍:ServiceStack.Redis,StackExchange.Redis,CSRedis
    nginx 配置web服务
    安装Office Online Server
    买房哪些事?
    微服务演变:微服务架构介绍
    VUE 前端调用Base64加密,后端c#调用Base64解密
    程序员35岁前必须做完的事
    Vue 开发流程
    小程序快速认证
    vue页面打印成pdf
  • 原文地址:https://www.cnblogs.com/litings/p/13862396.html
Copyright © 2011-2022 走看看