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 }; 
    }
  • 相关阅读:
    java处理数据库date类型数据
    in与exist , not in与not exist 的区别
    Eclipse的调试功能的10个小窍门
    关于Synchornized,Lock,AtomicBoolean和volatile的区别介绍
    推荐使用concurrent包中的Atomic类
    深入 Java 调试体系: 第 1 部分,JPDA 体系概览
    dom 绘制正方形
    dom 拖拽div
    dom 按着shift多选
    dom select选单
  • 原文地址:https://www.cnblogs.com/litings/p/13862396.html
Copyright © 2011-2022 走看看