前端光标操作获取光标位置,移动光标位置到最后

获取光标位置

const getCursorIndex = ()=>{
    // 获取当前光标位置
    setTimeout(()=>{
        const selection = window.getSelection();
        const range = selection.getRangeAt(0);
        const offset = range.startOffset;
        console.log('光标位置:', offset);
    })
}
  • const selection = window.getSelection();: 这行代码获取当前页面的 Selection 对象,Selection 对象表示用户选择的文本范围或光标的位置。

  • const range = selection.getRangeAt(0);: 这行代码通过 getRangeAt(0) 方法获取选区中的第一个 Range 对象,Range 对象代表了选取的文本范围。

  • const offset = range.startOffset;: 这行代码通过 startOffset 属性获取选区范围的起始偏移量,即光标或选取范围在选区起始节点内的偏移量位置。

移动光标位置到最后

let currentDom = document.getElementsByClassName('word-block')[0];
let range = document.createRange();
range.selectNodeContents(currentDom);
range.collapse(false);
let sel = window.getSelection();
sel?.removeAllRanges();
sel?.addRange(range);
  • let range = document.createRange();: 这行代码创建了一个 Range 对象,用于表示文档中的一段连续的区域。

  • range.selectNodeContents(currentDom);: 将 Range 对象的选区设置为 currentDom 元素的所有内容。

  • range.collapse(false);: 将选区的边界折叠到选区的结束位置,即将选区的焦点放在内容的末尾。

  • let sel = window.getSelection();: 获取当前文档的 Selection 对象,表示用户当前选取的文本范围或光标的位置。

  • sel?.removeAllRanges();: 清除当前 Selection 对象中的所有选区。

  • sel?.addRange(range);: 将之前创建的 Range 对象添加到 Selection 对象中,将选区设置为 currentDom 元素的内容的末尾位置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/572825.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

四川赢涟电子商务有限公司可靠吗?正规吗?

随着电商行业的飞速发展,越来越多的企业开始进军电商领域,其中四川赢涟电子商务有限公司在抖音电商服务上的表现尤为引人注目。那么,四川赢涟电子商务有限公司的抖音电商服务究竟怎么样呢?本文将从多个角度进行深入分析。 一、赢…

edge浏览器新建标签页闪退怎么解决?(打不开标签页)

文章目录 问题描述方法一方法二 问题描述 昨天开始出现这个问题,每次点击 打开一个新的标签页,马上就闪退了。 既然是新建标签页的问题,那么就在设置里看一下新建标签页发生了什么问题。 方法一 进入设置,会发现,有…

R可视化:分组频率分布直方图和密度图

介绍 ggplot2绘制分组频率分布直方图和密度图 加载R包 knitr::opts_chunk$set(message FALSE, warning FALSE) library(tidyverse) library(patchwork) library(ggpubr) library(rstatix)# rm(list ls()) options(stringsAsFactors F) options(future.globals.maxSize …

对增加LLaMA 3 上下文长度技术的猜测

AI苏妲己: 在许多应用场景中,如长对话、长文档摘要或长期计划执行等,大语言模型能够支持较长的上下文窗口是非常理想的。以一次处理约50页书籍内容为例,通常需要模型支持32K个token的上下文长度。目前,主流的大语言模…

[InternLM训练营第二期笔记]6.Lagent AgentLego 智能体应用搭建

该系列是上海AI Lab举行的书生 浦语大模型训练营的相关笔记部分。 该笔记是第六节课,学习大语言模型智能体的基本概念,以及Lagent的使用。 0. 智能体 在大型语言模型(LLM)的上下文中,智能体(agent&#xf…

如何解决高光谱数据读取、数据预处理、高光谱数据机器学习等技术难题......

深入探讨了高光谱遥感数据处理技术,涵盖了基本概念、成像原理、数据处理和分析方法,以及运用机器学习和深度学习模型提取和应用高光谱信息的技术。此外,通过Python实践练习,课程帮助学员巩固所学知识,使其得以深入理解…

Meta-Llama-3-8B-Instruct本地推理

Meta-Llama-3-8B-Instruct 本地推理 基础环境信息(wsl2安装Ubuntu22.04 miniconda) 使用miniconda搭建环境 (base) :~$ conda create --name pytorch212 python3.10 Retrieving notices: ...working... done Channels:- defaults Platform: linux-64 C…

EasyRecovery数据恢复软件2025破解版安装包下载

EasyRecovery数据恢复软件的主要功能及使用教程。coco玛奇朵可以提供一个概要和简化的教程,以便你了解其基本内容和操作步骤。 EasyRecovery绿色破解下载网盘链接: https://pan.baidu.com/s/1_6NmcOh_Jmc-DGc4TJD-Mg?pwddq4w 提取码: dq4w 复制这段内容后打开百度…

ABAP 第三代增强(BADI)--BADI旧方法

文章目录 第三代增强(BADI)--BADI旧方法需求分析确定BADI使用SE18查看BADIBADI的创建实施逻辑代码编写测试注意事项 第三代增强(BADI)–BADI旧方法 第三代增强BADI:全称是(Business Add-Ins) …

[卷积神经网络]YoloV9

一、概述 代码路径为: YoloV9https://github.com/WongKinYiu/yolov9 YoloV9的作者在论文中指出:现在的深度学习方法大多都在寻找一个合适的目标函数,但实际上输入数据在进行特征提取和空间变换的时候会丢失大量信息。针对这个问题&#xff…

MySQL数据类型:字符串类型详解

MySQL数据类型:字符串类型详解 在MySQL数据库中,字符串数据类型用于存储各种文本信息。这些数据类型主要包括CHAR、VARCHAR、TEXT和BLOB等。 CHAR与VARCHAR CHAR CHAR类型用于存储固定长度的字符串。它的长度在创建表时就已确定,长度范围…

书生·浦语大模型实战营之Llama 3 高效部署实践(LMDeploy 版)

书生浦语大模型实战营之Llama 3 高效部署实践(LMDeploy 版) 环境,模型准备LMDeploy chatTurmind和Transformer的速度对比LMDeploy模型量化(lite)LMDeploy服务(serve) 环境,模型准备 InternStudio 可以直接使用 studio-conda -t …

查找总价格为目标值的两个商品 ---- 双指针

题目链接 题目: 分析: 解法一: 暴力解法, 将每两个的和都算出来, 判断是否为目标值解法二: 数组中的数是按升序排序的, 我们可以定义左右指针 如果和小于目标值, 则应该让和变大, 所以左指针右移如果和大于目标值, 则应该让和变小, 所以右指针左移 思路: 定义left 0, righ…

使用Krukal算法解决图的最小生成树问题

Kruskal 算法 Kruskal算法是一种用于寻找连通图中最小生成树的算法。最小生成树是一个包含图中所有顶点的树,且边权重之和最小。Kruskal算法是一种贪心算法,它的基本思想是:每次选择边权重最小的边来扩展树,直到树包含所有的顶点…

一周学会Django5 Python Web开发-Django5 ORM执行SQL语句

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计49条视频,包括:2024版 Django5 Python we…

Spring 注解开发详解

1. 注解驱动入门案例介绍 1.1 需求描述 1.需求:实现保存一条数据到数据库。 2.表结构:create table account(id int primary key auto_increment,name varchar(50),money double(7,2)); 3.要求:使用spring框架中的JdbcTemplate和DriverMana…

Python 使用相对路径读取文件失败

python open一个问及那时使用绝对路径可以,但是使用相对路径时报错,找不到指定文件 解决步骤如下: 添加Python配置 在新增的配置Json文件添加下图红框这一行

阿里云OSS

进入阿里云官网,手机号短信登录

Ansible 中的copy 复制模块应用详解

作者主页:点击! Ansible专栏:点击! 创作时间:2024年4月25日13点40分 Ansible 中的 copy 模块用于将文件或目录从本地计算机或远程主机复制到远程主机上的特定位置。它是一个功能强大的模块,可用于各种文…

prometheus helm install 如何配置告警模版

对接企业微信 获取企业id 注册完成之后,通过企业微信官网登录后台管理,在【我的企业】的企业信息里面,获取到Alertmanager服务配置需用到的第一个配置:企业ID 获取部门id 部门ID 在【通讯录】中,添加一个子部门&a…
最新文章