当前位置:  开发笔记 > 编程语言 > 正文

是否可以将事件侦听器绑定到外部脚本的阴影dom中的元素?

如何解决《是否可以将事件侦听器绑定到外部脚本的阴影dom中的元素?》经验,为你挑选了1个好方法。

我有一个chrome扩展,它将一个阴影dom元素注入页面以保持css分离.但是我需要将onclick绑定到内容脚本中的阴影dom中的一些元素,因为我需要能够通过单击阴影dom中的元素来调用内容脚本中的函数.

我已经尝试在模板元素中的元素和实际的阴影dom元素上使用.bind('click',function(){}),但我似乎无法访问它们.这可能吗?



1> Dogs..:

尝试查询元素的shadowRoot.换句话说,假设你有一个元素,并且在该元素的阴影dom内部是一个带有'马铃薯'类的div,你想要附加一个点击处理程序.

你应该能够通过首先获得元素的shadowRoot来做到这一点:var superUltraRoot = document.querySelector('super-ultra-element').shadowRoot;.

拥有shadowRoot后,您可以查询元素的阴影dom以查找您关注的项目:var potatoDiv = superUltraRoot.querySelector('.potato');.

您现在可以引用您尝试添加单击处理程序的元素,因此这样做应该相当简单: potatoDiv.addEventListener('click', someClickCallback);

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有