我正在使用Web组件,并尝试将click
事件绑定到Shadow DOM内的元素。包括如何将函数绑定到Shadow DOM中的元素?
1. component.html作为<link rel="import" ...>
的index.html的内部
<template id="my-element">
<section>
<header>
<content select="h1"></content>
<button></button>
</header>
<content select="div"></content>
</section>
</template>
2.后面元件的使用:
<my-element>
<h1>Headline</h1>
<div>...</div>
</my-element>
3.访问元件并结合一个功能到它
现在我想加和addEventListener()
到<button>
里面我的<my-element>
(不幸通过#shadow-root
隐藏)。喜欢:
var elemBtn = document.querySelector('my-element button');
elemBtn.addEventListener('click', function(event) {
// do stuff
});
但那不行。 我该如何做到这一点?
嗯,这是令人沮丧的。你的解决方案比我的更聪明:D – morkro 2015-02-06 18:37:59
@morkro你介意把这个答案标记为正确吗? – mudasobwa 2015-02-07 06:22:46
当然!感谢@robdodson为我展示了一种更好的方式:) – morkro 2015-02-07 09:27:22