栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JavaScript获取文本输入字段中的光标位置(以字符为单位)

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JavaScript获取文本输入字段中的光标位置(以字符为单位)

更新更容易:

使用时

selectionStart
,它与所有主要浏览器兼容。

document.getElementById('foobar').addEventListener('keyup', e => {  console.log('Caret at: ', e.target.selectionStart)})<input id="foobar" />

更新:仅当未定义类型或

type="text"
在输入上时,此方法才有效。


旧答案:

找到了这个解决方案。不是基于jquery的,但是将其集成到jquery中没有问题:

function doGetCaretPosition (oField) {  // Initialize  var iCaretPos = 0;  // IE Support  if (document.selection) {    // Set focus on the element    oField.focus();    // To get cursor position, get empty selection range    var oSel = document.selection.createRange();    // Move selection start to 0 position    oSel.moveStart('character', -oField.value.length);    // The caret position is selection length    iCaretPos = oSel.text.length;  }  // Firefox support  else if (oField.selectionStart || oField.selectionStart == '0')    iCaretPos = oField.selectionDirection=='backward' ? oField.selectionStart : oField.selectionEnd;  // Return results  return iCaretPos;}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/442099.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号