当前位置:首页 > JavaScript

js 实现游标

2026-02-02 09:31:31JavaScript

使用 JavaScript 实现游标

在 JavaScript 中,可以通过操作 DOM 元素的 selectionStartselectionEnd 属性来实现游标控制。以下是一个基本的实现方法:

const inputElement = document.getElementById('inputField');

// 设置游标位置
function setCursorPosition(position) {
  inputElement.selectionStart = position;
  inputElement.selectionEnd = position;
  inputElement.focus();
}

// 获取当前游标位置
function getCursorPosition() {
  return inputElement.selectionStart;
}

在可编辑元素中实现游标

对于 contentEditable 元素,需要使用 RangeSelection API 来控制游标:

const editableElement = document.getElementById('editableDiv');

function setCursorAtEnd() {
  const range = document.createRange();
  const selection = window.getSelection();

  range.selectNodeContents(editableElement);
  range.collapse(false);

  selection.removeAllRanges();
  selection.addRange(range);
}

保存和恢复游标位置

在需要保存和恢复游标位置的场景下,可以使用以下方法:

let savedCursorPosition = 0;

function saveCursorPosition() {
  savedCursorPosition = getCursorPosition();
}

function restoreCursorPosition() {
  setCursorPosition(savedCursorPosition);
}

处理多行文本的游标

对于多行文本区域,需要考虑换行符的影响:

function getCursorLineNumber(textarea) {
  const text = textarea.value;
  const cursorPos = textarea.selectionStart;
  return text.substring(0, cursorPos).split('\n').length;
}

移动游标到特定字符位置

可以创建一个函数将游标移动到特定字符的首次出现位置:

js 实现游标

function moveCursorToCharacter(char) {
  const text = inputElement.value;
  const position = text.indexOf(char);
  if (position !== -1) {
    setCursorPosition(position);
  }
}

这些方法提供了在 JavaScript 中控制游标的基本功能,可以根据具体需求进行组合和扩展。

标签: 游标js
分享给朋友:

相关文章

js 实现vue模板

js 实现vue模板

实现 Vue 模板的 JavaScript 方法 通过原生 JavaScript 可以实现类似 Vue 的模板渲染功能,主要包括数据绑定、指令处理和模板解析。以下是核心实现思路: 数据绑定与…

js实现复制功能

js实现复制功能

使用 document.execCommand 方法 这种方法适用于较旧的浏览器,但在现代浏览器中可能被逐步淘汰。通过创建一个临时的 textarea 元素,将文本内容放入其中,然后执行复制命令。…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…

js实现游标

js实现游标

使用JavaScript实现游标 在JavaScript中,可以通过操作DOM元素的cursor样式属性来实现自定义游标效果。以下是几种常见的实现方法: 修改默认鼠标指针样式 通过CSS的curso…

js实现求导

js实现求导

实现数值求导的方法 在JavaScript中实现求导通常采用数值方法,因为JavaScript不是符号计算语言。以下是常见的数值微分方法: 中心差分法 中心差分法提供较高精度的导数近似: func…