我有一个丰富的编辑器,我正在将其重写为lit元素的自定义元素。我正在使用Firefox (最新的)进行测试。我试图在自定义元素的shadowDom中(在一个方法中)获得对内容可编辑元素的选择。
在Firefox调试器中),对于shadowRoot元素,this.shadowRoot看起来是正确的,但是没有定义this.shadowRoot.getSelection,尽管DocumentOrShadowRoot说shadowRoot.getSelection()是在影子DOM中获得选择的合适方法。有谁能解释一下我遗漏的东西吗?
非常感谢!
发布于 2021-11-12 13:22:24
目前有一项建议正在开发中,即扩展选择API以正确处理Shadow DOM。请参阅https://twitter.com/bocoup/status/1459120675390689284?s=20
发布于 2020-06-13 20:53:47
几天来,我一直在尝试在影子圈中选择。到目前为止,我的理解是"this.shadowRoot.getSelection()“运行良好(在Chrome和Firefox中测试过),但仅适用于”开放“-mode中的影子,因为"this.shadowRoot”不能在“关闭”-mode中访问:“无法读取null的属性'getSelection‘”。
当然,您可以在初始化时自己存储对shadowRoot的引用,但是在JavaScript中很难将此引用保持为私有。
https://stackoverflow.com/questions/62054839
复制相似问题