【发布时间】:2014-07-30 23:00:58
【问题描述】:
我无法让 JavaScript 在我定义的 Shadow DOM 元素中正常运行。给定以下代码:
<template id='testTemplate'>
<div id='test'>Click to say hi</div>
<script>
var elem = document.querySelector('#test');
elem.addEventListener('click', function(e) {
alert("Hi there");
});
</script>
</template>
<div id="testElement">Host text</div>
<script>
var shadow = document.querySelector('#testElement').createShadowRoot();
var template = document.querySelector('#testTemplate');
shadow.appendChild(template.content.cloneNode(true));
</script>
document.querySelector 返回 null。如果我将它包装在 document.onload 中,它不再抛出错误,但单击 div 也不会启动警报。
- 在这种情况下我的代码运行时 document.onload 是否是正确的处理方式?
- 这是为 shadow dom 元素嵌入 javascript 的正确方法吗?
【问题讨论】:
标签: javascript html web-component shadow-dom