[2023.09.24]: 今天差点又交白卷

news/2024/7/24 14:50:11/

今天周日,搞定了家里装修的一件事情,周末的事特别多,总算在10点的时候,解决了昨天那个输入焦点设置失败的问题。
在探索Rust编写基于web_sys的WebAssembly编辑器:挑战输入光标定位的实践中,我们总结了设置光标的位置:

selection.remove_all_ranges().unwrap();
selection.add_range(&range);
let div = get_div_element(&e).expect("get div");
range.set_start(&div.first_child().expect("get first child"), pos);
range.set_end(&div.first_child().expect("get first child"), pos);
div.focus();

如果我们在设置光标前,在通过代码的方式增加了节点,比如从<p>hello</p>改为<p><strong>hello</strong></p>。这个时候,输入焦点的设置就会失效。
解决的方法:

  1. div对象要重新生成
  2. range对象要重新生成
  3. node对象要取到text这一级

今天有点晚了,明天我再整理一下代码,将具体的代码补上。

谢谢大家的关注,欢迎留言讨论。


http://www.ppmy.cn/news/1123321.html

相关文章

使用Arduino与MH-Z系列CO2传感器进行交互:智能红外二氧化碳模块的详细步骤与C++代码实现

1. 介绍 随着环境监测的日益增加&#xff0c;二氧化碳传感器在各种应用中发挥着至关重要的作用&#xff0c;例如农业、气象学以及室内空气质量监测。MH-Z系列传感器是市面上的热门选择&#xff0c;因为它们提供了准确、可靠且低成本的CO2测量。在本文中&#xff0c;我们将深入…

RabbitMQ用户命令_策略_日志

RabbitMQ相关安装 Centos离线安装RabbitMQ并开启MQTT Docker安装rabbitMQ RabbitMQ集群搭建和测试总结_亲测 Docker安装RabbitMQ集群_亲测成功 RabbitMQ创建管理员命令 #查看当前用户命令&#xff1a; rabbitmqctl list_users#创建用户和密码 rabbitmqctl add_user admin…

MySQL学习笔记6

MySQL数据库如何存放数据&#xff1f; 注明&#xff1a;我们平常说的MySQL&#xff0c;其实主要指的是MySQL数据库管理软件。 一个MySQL DBMS可以 同时存放多个数据库&#xff0c;理论上一个项目就对应一个数据库。 如博客项目blog数据库&#xff0c;商城项目shop数据库&#…

Vite打包时使用plugin解决浏览器兼容问题

一、安装Vite插件 在终端输入如下命令&#xff1a; npm add -D vitejs/plugin-legacy 二、配置config文件 在项目目录下创建vite.config.js文件夹&#xff0c;配置如下代码&#xff1a; import { defineConfig } from "vite"; import legacy from "vitejs/pl…

工作、生活常用免费api接口大全

手机号码归属地&#xff1a;提供三大运营商的手机号码归属地查询。全国快递物流查询&#xff1a;1.提供包括申通、顺丰、圆通、韵达、中通、汇通等600快递公司在内的快递物流单号查询。2.与官网实时同步更新。3.自动识别快递公司。IP归属地-IPv4区县级&#xff1a;根据IP地址查…

【计算机毕业设计】基于SpringBoot+Vue大学生心理健康管理系统的开发与实现

博主主页&#xff1a;一季春秋博主简介&#xff1a;专注Java技术领域和毕业设计项目实战、Java、微信小程序、安卓等技术开发&#xff0c;远程调试部署、代码讲解、文档指导、ppt制作等技术指导。主要内容&#xff1a;毕业设计(Java项目、小程序等)、简历模板、学习资料、面试题…

Git大全

目录 一、Git概述 1.1Git简介 1.2Git工作流程图 1.3查看Git的版本 1.4 Git 使用前配置 1.5为常用指令配置别名&#xff08;可选&#xff09; 1.5.1打开用户目录&#xff0c;创建 .bashrc 文件 1.5.2在 .bashrc 文件中输入如下内容&#xff1a; 1.5.3打开gitBash&#xff0c;执行…

3、SpringBoot_配置文件

四、配置文件 1.前言 曾经使用SpringMVC的时候是手动修改tomcat配置的端口信息&#xff0c;那现在Springboot如何修改&#xff1f;springboot有一个默认的配置文件 application.properties 2.配置文件分类 常用配置信息官方文档地址 https://docs.spring.io/spring-boot/doc…

vue的孙组件获取祖组件数据的方法(this.$parent)

项目中遇到一个问题&#xff0c;使用第三方插件的组件库会导致自己封装的组件库无法通过this.$parent.data获取父组件的数据 在孙组件里使用this. p a r e n t . parent. parent.parent.data即可获取到祖级数据 <template><div iddetail><!-- 第三方框架封装的…

MySQL学习笔记12

MySQL 查询语句&#xff1a; 1、查询五子句&#xff1a;&#xff08;重点&#xff09; mysql> select */字段列表 from 数据表名称 where 子句 group by 子句 having 子句 order by 子句 limit 子句; 1&#xff09;where 子句&#xff1b;条件筛选。 2&#xff09;group…

SystemC入门学习-第3章 数据类型

本章将详细的描述SystemC的数据类型&#xff0c;并介绍这些类型的数据可以进行哪些操作。比如值保持器&#xff08;value holder&#xff09;就是一种特殊的类型。在所有的类型中&#xff0c;最重要的是bool和sc_uint两种类型 3.1 值保持器 值保持器有三种&#xff1a; 变量…

41. Linux系统配置FTP服务器并在QT中使用QFtp实现文件上传

1. 说明 这篇博客主要记录一些在Linux系统中搭建FTP服务器时踩过的一些坑,以及在使用QFtp上传文件时需要注意的问题。 2. FTP环境搭建 在linux系统中,需要安装vsftpd,可以在终端中输入下面的命令进行安装: sudo apt-get install vsftpd使用上述命令安装后,系统中会有一…

pytorch安装教程

写在前面&#xff1a;配置pytorch着实有很多坑&#xff0c;不过最终结果算好的&#xff0c;话不多说&#xff0c;直接上干货。其中想要知道如何解决torch.cuda.is_available(&#xff09;返回false的&#xff0c;直接跳到步骤5pytorch安装。python版本至少是3.6及以上。 1、前…

[数据结构】栈和队列

目录 1.栈 1.1概念 1.2 栈的使用 1.3.栈的模拟实现 2.队列 2.1概念 2.2队列的使用 2.3队列的模拟实现 2.4 循环队列 2.5双端队列 1.栈 1.1概念 栈&#xff1a;一种特殊的线性表&#xff0c;其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一…

实验室安全教育与考试

目录 我的错题&#xff08;2个&#xff09;新知识题目&#xff08;10个&#xff09;刚开始不太理解的题目&#xff08;10个&#xff09;写在最后&#xff08;免责声明&#xff09; 我的错题&#xff08;2个&#xff09; 18.发生电气火灾时可以使用的灭火设备包括&#xff1a;&…

MySQL索引事务

一 、 索引 索引是一种特殊的文件&#xff0c;包含着对数据表里所有记录的引用指针。 可以对表中的一列或多列创建索引&#xff0c; 并指定索引的类型&#xff0c;各类索引有各自的数据结构实现。 索引保存的数据结构主要为B树&#xff0c;及hash的方式。 1. 作用 数据库中…

中秋国庆内卷之我爱学习C++

文章目录 前言Ⅰ. 内联函数0x00 内联函数和宏的比较0x01 内联函数的概念0x02 内联函数的特性 Ⅱ. auto&#xff08;C 11)0x00 auto的概念0x01 auto的用途 Ⅲ. 范围for循环(C11)0x00 基本用法0x01 范围for循环(C11)的使用条件 Ⅳ. 指针空值nullptr(C11)0x00 概念 前言 亲爱的夏…

gitee生成公钥和远程仓库与本地仓库使用验证

参考文档&#xff1a; https://help.gitee.com/base/account/SSH%E5%85%AC%E9%92%A5%E8%AE%BE%E7%BD%AE(1)通过命令ssh-keygen 生成SSH key -t key类型 -c注释 ssh-keygen -t ed25519 -C "Gitee SSH Key" (2)按三次回车 (3)查看生成的 SSH 公钥和私钥&#xff1a; …

新增MariaDB数据库管理、支持多版本MySQL数据库共存,1Panel开源面板v1.6.0发布

2023年9月18日&#xff0c;现代化、开源的Linux服务器运维管理面板1Panel正式发布v1.6.0版本。 在这个版本中&#xff0c;1Panel新增MariaDB数据库管理&#xff1b;支持多版本MySQL数据库共存&#xff1b;支持定时备份系统快照和应用商店中已安装应用&#xff1b;支持为防火墙…

elementui实现表格(el-table)默认选中

方法: 创建一个空数组用来存放默认数据 遍历表格的数据&#xff0c;再遍历需要在表格中反显的数据&#xff0c;两者的id一致&#xff08;两者之间共同的标识即可&#xff0c;一般以id做判断&#xff09; 把判断出来的默认表格数据push到创建的数组中 再遍历数组&#xff0c;将数…