美文网首页
文字选中浮动菜单

文字选中浮动菜单

作者: alue | 来源:发表于2023-11-25 20:51 被阅读0次

想做一个类似medium的文字选中浮动菜单也不是件容易的事情。

medium的文字悬浮菜单

大概思路是:

  1. 利用 Window.getSelection API,获取用户的文字选取信息。然后利用 getBoundingClientRect 计算菜单的显示位置。
  2. 监听 'selectionchange' 事件,更新选取信息。
  3. 监听 'mouseup' 事件,更新菜单的显示与否。
  4. 更新‘scroll’ 事件,重新计算菜单位置。

折腾了半天,总算没有大的bug了。如果想进一步优化,还需要考虑菜单的方向(类似popper.js那样,例如,如果菜单位置特别靠近屏幕顶端,则菜单朝下方弹出)。

相关文章

网友评论

      本文标题:文字选中浮动菜单

      本文链接:https://www.haomeiwen.com/subject/uliowdtx.html