我的html内容在阴影根目录中,这都是动态的,通过microblink SDK。
我需要addEventListener到#fileBtn,所以每当点击它时,我就需要做一些事情。但是,由于它是阴影根,所以我无法访问DOM属性。同时,我也使用了reactjs来实现这个功能。
<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>提前谢谢!
发布于 2020-05-09 14:03:38
使用shadowRoot属性访问Shadow内容。
let mb = document.querySelector( 'microblink-ui-web' )
mb.shadowRoot.querySelector( '#fileBtn' ).addEventListener( 'click', clicked )
function clicked( ev ) {
console.log( ev.target.id + 'clicked' )
}https://stackoverflow.com/questions/61695933
复制相似问题