如何阻止选中的文字点击空白处选中消失

请教大佬一个问题, 我选中了一段文字, 点击按钮文字的选中没有取消, 但是点空白的地方选中就没有了, 有什么可以阻止选中取消的吗? 我试了 click mouseup mousedown 的
stopPropagation preventDefault 都不行

阅读 5.8k
2 个回答
  1. 使用 iframe 来当编辑区域,会保留原始焦点。
  2. 如果没有 iframe 的话就是 blur 的时候回去一下选区。操作之后恢复选区

  1. http://www.lilnong.top/static... 比如这个例子是保留了插入位置。
  2. 刚才又看了个例子,好像 document.execCommand 操作之后就会自动恢复。你可以试一下。

其实不是阻止选中取消,而是如何恢复选中范围,在文本区域监听 selectionchange 事件,保存选取范围和相关参数。

触发更改文本属性命令的时候 读取参数 恢复选取范围

我在具体的操作中都附带了相关库的代码作为参考。具体是依赖了window.getSelection和事件监听。也与前端框架无关,可以参考看看。
image.png

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