首页 > 软件开发 > HTML >

html/js如何获取选择文字/移动光标位置

来源:互联网 2023-03-16 19:11:55 326

本经验介绍在html/js开发中,如何获取可编辑区域的选择的文字,以及获取和移动编辑光标的字符位置。FYD办公区 - 实用经验教程分享!

html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

工具/原料

  • Firefox

方法/步骤

  • 1

    首先,如图位置是一个html中的可编辑内容的div标签,在里边输入文字,会有一个光标。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 2

    通过getSelection可以获得一个Selection对象,如图。因为是一个光标,anchor和focus(选择的起点和终点)一样,偏移也一样。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 3

    如图,则进行文字选择,而且是跨行选择,以第一行为起点,第二行为终点,选择文字。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 4

    再次getSelection,可以看到anchorNode是起始节点,anchorOffset是起始偏移,focus是结束的。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 5

    如果从第二行倒着选到第一行,使用getSelection获取选择区域,可以看到anchorNode和focusNode和刚才相比,互换了。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 6

    使用一个node的textContent属性可以获得文字。结合focusOffset和anchorOffset,实际上可以获取光标/选中区域前后的文字。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 6本页面非法爬取自百度经验
  • 7

    如图是在选取的结束位置插入一段文字的代码。设置结束节点focusNode的textContent属性即可。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 8

    通过选区Selection的成员函数setBaseAndExtent可以实现选择一段文字。FYD办公区 - 实用经验教程分享!

    需要指定起始节点,起始偏移,结束节点,结束偏移。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 9

    如图所示的代码,将起始和结束位置设置为相同,而且都在结束节点的末尾。即变成闪烁光标。FYD办公区 - 实用经验教程分享!

    html/js如何获取选择文字/移动光标位置?FYD办公区 - 实用经验教程分享!

  • 注意事项

    • 有时候,一些光标设置操作需要配合focus event触发,聚焦在控件上才能得到效果。

    以上方法由办公区教程网编辑摘抄自百度经验可供大家参考!FYD办公区 - 实用经验教程分享!


    标签: HTML

    办公区 Copyright © 2016-2023 www.bgqu.net. Some Rights Reserved. 备案号:湘ICP备2020019561号统计代码