首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在阴影根中获取元素?

如何在阴影根中获取元素?
EN

Stack Overflow用户
提问于 2020-05-09 11:21:25
回答 1查看 3.7K关注 0票数 5

我的html内容在阴影根目录中,这都是动态的,通过microblink SDK。

我需要addEventListener到#fileBtn,所以每当点击它时,我就需要做一些事情。但是,由于它是阴影根,所以我无法访问DOM属性。同时,我也使用了reactjs来实现这个功能。

代码语言:javascript
复制
<microblink-ui-web tabs="true" autoscroll="true" style="height: 319.562px;">
    #shadow-root (open)
    <div class="container root" max-width="500px 600px 630px">
    <div class="container main">
      <div class="container intro dropzone active">
        <div class="flex-vertical">
          <p class="intro-label">
            <slot name="labels.chooseInputMethod">Choose input method</slot>
          </p>
          <div class="flex-horizontal">
            <input
              type="file"
              accept="image/png,image/gif,image/bmp,image/jpeg,image/x-png,image/vnd.wap.wbmp"
              id="file"
            />
            <button type="button" class="intro-button" id="fileBtn">
            </button>
            <button type="button" class="intro-button" id="cameraLocalBtn">
            </button>
          </div>
        </div>
      </div>
    </div>
    </div
></microblink-ui-web>

提前谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-09 14:03:38

使用shadowRoot属性访问Shadow内容。

代码语言:javascript
复制
let mb = document.querySelector( 'microblink-ui-web' )
mb.shadowRoot.querySelector( '#fileBtn' ).addEventListener( 'click', clicked )

function clicked( ev ) {
    console.log( ev.target.id + 'clicked' )
}
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61695933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档