如何在Shadow DOM中使用JS工具提示?

问题描述 投票:2回答:1

我正在为应用程序使用Vue&Bootstrap,根据我的官方Vue文档(https://cli.vuejs.org/guide/build-targets.html#web-component)生成Web组件。在大多数情况下,Bootstrap和我的业务逻辑在Web组件的#shadow-root内都能正常工作,就像在轻型DOM中一样。

但是,Bootstrap工具提示(基于Popper.js https://popper.js.org/)根本不在Shadow DOM中起作用。我还尝试过在Shadow DOM封装的代码中直接使用Popper.js和Tippy.js(https://atomiks.github.io/tippyjs/)调用工具提示,完全避开了Bootstrap,但仍然无法使它们正常工作。

查看示例:https://jsfiddle.net/mfep6rg9/

[我可以猜测为什么-第三方工具提示库很可能找不到目标DOM元素,因为它在Shadow DOM中。

那里是否存在第三方解决方案来解决Shadow DOM / Web组件封装问题?

javascript vue.js tooltip web-component shadow-dom
1个回答
0
投票

您的猜测是正确的。使用document.的3party解决方案未查询shadowDOM。

而且可能没有第三方解决方案,因为解决方案都需要

  • WebComponents,将鼠标的位置传达给外界。

  • 主机查询shadowDOM(以及嵌套的shadowDOM和嵌套的shadowDOM)

与(甚至更多受限制的)IFRAME并没有太大区别>>

© www.soinside.com 2019 - 2024. All rights reserved.