点击span获取点击到的文字位置

默认展示span,点击文字激活变成input, 设置光标到对应位置,例如下面<span>abcde<span>点击b,需要把光标设置到b位置上。 设置光标是可以的,但是目前不知道什么办法可以获取到点击span的文本的序号。

阅读 3.1k
4 个回答

我的思路是你把字符串split('')一下每个加上标签;然后事件委托监听span的点击事件,然后你就知道是点击的哪个i标签了

<span>
    <i>a</i>
    <i>b</i>
    <i>c</i>
<span>

在你的span标签上加上 contenteditable="true" 属性,这样标签就是可编辑的了

你想复杂了,那假设span就直接可以编辑呢?那也就不需要你处理什么光标和序号了,也不用点击的时候变成input了对吧,那你直接在span标签上加一个contentEditable="true"不就可以了吗?

<html>
  <head>
  </head>
  <body>
    <span contentEditable>abcdsfsdfsdfasdfasddfasdfadsfasdfsadf</span>
  </body>
</html>

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题