【发布时间】:2015-04-07 10:48:49
【问题描述】:
我在这个例子中使用了这个 Shadow Element/root http://jsfiddle.net/fyf6thte/8/ 与 JavaScript 完美配合,有兴趣在 DART 中使用类似的元素,所以我编写了以下代码(使用相同的 html 和 css 文件),但我可以看不到按钮它看起来shadow.innerHTML = '<button id="d">click</button>'不起作用
完整代码为:
import 'dart:html';
void main() {
var thehost = document.querySelector('#host1');
document.registerElement(fonixDiv.tag, fonixDiv);
thehost.append(new fonixDiv());
}
class fonixDiv extends HtmlElement {
static final tag = 'fonix-div';
var shadow;
bool disabled;
factory fonixDiv() => new Element.tag(tag);
fonixDiv.created() : super.created() {
shadow = this.createShadowRoot();
shadow.host.innerHTML = '<button id="d">click</button>';
shadow.host.onClick.listen((e){
this.host.dataset.disabled='true'; // set Attribute to the custom element
});
shadow.children.d.onClick.listen((e){
this.text = "you clicked me :(";
// or shadow.children[0].textContent="Shadow DOM content changed";
this.disabled=true;
// alert("All: button, text and host should be change");
});
}
@override
void attached() {
super.attached();
this.disabled=disabled;
}
}
我不确定代码余额的准确性,只有看到按钮才能检查。
任何帮助。
【问题讨论】:
标签: dart shadow-dom