Chrome Shadow DOM -如果tabindex与delegates一起使用,则突出显示不起作用Focus

1tuwyuhd  于 5个月前  发布在  Go
关注(0)|答案(1)|浏览(48)

我注意到,如果tabindex属性在带有delegatesFocus: true的shadow DOM中的任何地方使用,双击文本选择对其他元素都不起作用。我可以在Chrome或Edge中重现这一点。

不工作-tabindexdelegatesFocus: true

<div id="app-root"></div>

<script>
document.querySelector('#app-root').attachShadow({mode: "open", delegatesFocus: true}).innerHTML =
    "<div>Unable to highlight by double clicking</div>\n" +
    "<div tabindex=\"0\">Highlights on double click</div>\n"
</script>

字符串

工作-tabindexdelegatesFocus: false

<div id="app-root"></div>

<script>
document.querySelector('#app-root').attachShadow({mode: "open"}).innerHTML =
    "<div>Unable to highlight by double clicking</div>\n" +
    "<div tabindex=\"0\">Highlights on double click</div>\n"
</script>

工作-无tabindexdelegatesFocus: true

<div id="app-root"></div>

<script>
document.querySelector('#app-root').attachShadow({mode: "open", delegatesFocus: true}).innerHTML =
    "<div>Unable to highlight by double clicking</div>\n" +
    "<div>Highlights on double click</div>\n"
</script>


我对shadow DOM的使用是否不正确?

u7up0aaq

u7up0aaq1#

重构为最小所需代码,双击即可
所以在你的代码中有一些东西阻止了它。
从失败的代码开始,一行一行地将其重构为这段代码,看看哪里出错了。

<div id="app"></div>
<script>
  app.attachShadow({
    mode: "open",
  }).innerHTML =
    "<div>Unable to highlight by double clicking</div>\n" +
    "<div>Highlights on double click</div>\n"
</script>

字符串

相关问题