有一个有效的JS小提琴演示了Shadow DOM here。 (注意:需要进行一些设置才能使其正常运行。我使用的是Google Chrome版本20.0.1132.47测试版,并通过chrome://flags
启用了“Shadow DOM”实验)
我创建了一个使用button
代替span
的{{3}}修订版,但它不起作用。它引发了一个:
Uncaught Error: HIERARCHY_REQUEST_ERR: DOM Exception 3
您知道为什么可以将Shadow DOM添加到span
而不是button
吗?
答案 0 :(得分:1)
这是WebKit中当前实现的限制。
在实现的早期,元素最多可以附加一个影子根。由于某些元素在内部使用Shadow DOM(例如视频)或计划使用(例如输入元素),因此a hard-coded restriction不允许为这些元素创建作者影子根。
中跟踪按钮元素的作者Shadow DOM的实现状态