js 鼠标选中一段文本 当从后往前选 怎么获取到选择的文本?-灵析社区

winkkkkk9421

需要实现类似csdn下面的效果,鼠标选中一段文本,弹出操作菜单 ![image.png](https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250103/a5bb7175623db9fd41b0440a790e2b5b.png) 鼠标选中采用的是mouseup事件,当选中文本时,通过window.getSelection()获取选中的文本,目前存在的问题是: 1.当从前往后选中文本时,可以获取到选中的文本内容,但当从后往前时,获取不到文本内容(前提是文本为json字符串或者是url编码等,非普通文字) 2.当选中文本后,弹出菜单,点击除菜单区域外其他地方时,关闭菜单区域 针对问题2,在mouted中对document添加mouseup或click事件,关闭菜单,都无法实现关闭,只有选择别的文本时,才会关闭上一次的菜单 请问,大家有什么好的处理办法嘛?

阅读量:284

点赞量:12

问AI
MastFancy
第二个问题可以用这个"工具方法" (https://link.segmentfault.com/?enc=O94F6AhIe5%2BVEbSEAXzlzg%3D%3D.kDRSDoTdkzB2Zde%2F9sIXLE0WPosVHwmyycAaiosCRYyZc4wEoU1WRB8iR50VE%2BLhqouSScpi0wucM81A5AL%2F8UOG%2BtouzalIGspWCLU%2F8t6Of3N8F0aTuyPPaGUv7fmK72Fpok4JiH1VWM5cBTcVkQ%3D%3D)。 第一个问题并没有复现你的问题,参考这个"demo" (https://link.segmentfault.com/?enc=nWVGe4Hrvs%2BoknjXvdntlQ%3D%3D.Sg%2FUFwTMEbYs7HMATHQ5Ws00FglfpEsKQ23p7TAPDc3B2P0MW8Q0OD1QOSwUJ4is)