幽默小白羊 2021-01-12 20:43 采纳率: 50%
浏览 20

如何让可编辑元素在被创建时自动将已有内容选中吗?

有没有代码能让一个可编辑元素在被创建时自动选中?如图

图片出问题了,反正是自动选中

HTML,JavaScript ,CSS都可以

  • 写回答

2条回答 默认 最新

  • Menkongkong 2021-01-13 09:38
    关注
    <!-- contenteditable="true"为H5新特性,该div为一个可编辑段落 -->
            <div id='pitchon' contenteditable="true">这是一个可以编辑的段落</div>
    
    
    
    //getSelection()为用户选择的文本范围或光标的当前位置,这里是添加选中,那就是光标当前位置
                const selction = window.getSelection();
                const pitchon = document.getElementById('pitchon');
                //为pitchon添加焦点,如果不添加焦点,没有办法创建range,
                pitchon.focus();
                //获取要选中文字的长度
                const num = pitchon.innerHTML.length;
                //创建一个开始节点,这个节点就是焦点所在的节点,如果没有焦点,就无法获取焦点所在节点
                const range = selction.getRangeAt(0);
                //定义选中区域的起点,selction.anchorNode为选中区域所在的节点,selction.anchorOffset为起点偏移量
                range.setStart(selction.anchorNode,selction.anchorOffset);
                //定义选中区域的结束点,selction.focusNode为选中区域所在的节点,selction.focusOffset+num为结束点偏移量,这里的偏移量为想要选择的文字的长度。
                range.setEnd(selction.focusNode,selction.focusOffset+num);
    评论

报告相同问题?

悬赏问题

  • ¥15 Qt下使用tcp获取数据的详细操作
  • ¥15 idea右下角设置编码是灰色的
  • ¥15 全志H618ROM新增分区
  • ¥15 在grasshopper里DrawViewportWires更改预览后,禁用电池仍然显示
  • ¥15 NAO机器人的录音程序保存问题
  • ¥15 C#读写EXCEL文件,不同编译
  • ¥15 MapReduce结果输出到HBase,一直连接不上MySQL
  • ¥15 扩散模型sd.webui使用时报错“Nonetype”
  • ¥15 stm32流水灯+呼吸灯+外部中断按键
  • ¥15 将二维数组,按照假设的规定,如0/1/0 == "4",把对应列位置写成一个字符并打印输出该字符