javascript - 使用JQuery获取文本框中的光标位置

标签 javascript jquery textbox

我想使用 JQuery 获取文本框中的当前光标位置。在键入或按下鼠标时,光标位置可能会使用键盘箭头键更改。有没有办法做到这一点。

var currentCursorPosition = $("#textbox").currentCursorPosition();

最佳答案

使用 Firefox、Safari(和其他基于 Gecko 的浏览器)您可以轻松使用 textarea.selectionStart,但对于 IE 不起作用,因此您必须执行以下操作:

function getCaret(el) {
  if (el.selectionStart) {
    return el.selectionStart;
  } else if (document.selection) {
    el.focus();

    var r = document.selection.createRange();
    if (r == null) {
    return 0;
    }

    var re = el.createTextRange(),
    rc = re.duplicate();
    re.moveToBookmark(r.getBookmark());
    rc.setEndPoint('EndToStart', re); 

    return rc.text.length;
  }
  return 0;
}

来源:Caret position in textarea, in characters from the start

关于javascript - 使用JQuery获取文本框中的光标位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33665619/

相关文章:

javascript - 在 React 中关闭浏览器的确认框

javascript - 如何将 iFrame 的部分 URL 更改为随机字符串?

jquery - 淡入淡出图像?

.net - 使用 VB.NET 窗口窗体中文本框中的占位符

c# - 顶部垂直对齐的多行文本框

javascript - Express render() 中的函数调用未定义

javascript - 我无法访问类中的方法

javascript - 解析字符串中的字符

AJAX post 使用 jQuery 更改数组参数的名称

c# - 将数据库中的值显示到文本框