代码之家  ›  专栏  ›  技术社区  ›  Pat

如何获取文本框中插入符号的(x,y)像素坐标?

  •  28
  • Pat  · 技术社区  · 16 年前

    我正在使用jquery并试图找到一种跨浏览器的方法来获取插入符号的像素坐标。 <textarea> S和 input 这样我就可以在这个位置周围放置一个绝对定位的DIV。

    有jquery插件吗?或者JavaScript代码片段来完成这个任务?

    3 回复  |  直到 16 年前
        2
  •  1
  •   Cheekysoft Moz Morris    16 年前

    document.selection TextRange

    function insertAtCursor(myField, myValue) {
    
    /* selecion model - ie */
    if (document.selection) {
      myField.focus();
      sel = document.selection.createRange();
      sel.text = myValue;
    }
    
    /* field.selectionstart/end  firefox */ 
    else if (myField.selectionStart || myField.selectionStart == '0' ) {
    
      var startPos = myField.selectionStart;
      var endPos = myField.selectionEnd;
      myField.value = myField.value.substring(0, startPos)
        + myValue
        + myField.value.substring(endPos, myField.value.length);
    
      myField.selectionStart = startPos + myValue.length;
      myField.selectionEnd = startPos + myValue.length;
      myField.focus();
    } 
    
    // cursor not active/present
    else {
      myField.value += myValue;
    }
    

    http://msdn.microsoft.com/en-us/library/ms535869(VS.85).aspx
    http://msdn.microsoft.com/en-us/library/ms535872(VS.85).aspx

        3
  •  0
  •   Dan Dascalescu    10 年前