【发布时间】:2020-03-24 08:19:03
【问题描述】:
我有一个像这样创建的 shadow dom 元素...
this.wrapper = document.createElement("div");
this.shadow = this.wrapper.attachShadow({mode: 'open'});
this.$el.appendChild(this.wrapper);
现在我正在研究在影子 dom 中分配一个 JS 变量,类似于在窗口上。如果我使用的是 window 我会做类似的事情。
window.foo = "bar";
我怎样才能做同样的事情只将范围封装到shadow dom?
例子:
旧方式:
var wrapper = document.createElement( 'div' )
window.foo = function(){
console.log("Do Something");
}
wrapper.innerHTML = '<div onclick="foo()"></div>'
document.body.appendChild( this.wrapper )
暗影支配
var wrapper = document.createElement( 'div' )
var shadow = this.wrapper.attachShadow( {mode: 'open'} )
shadow.innerHTML = '<div onclick="this.shadow.foo()"></div>'
document.body.appendChild( this.wrapper )
shadow.foo = function(){
console.log("Do Something");
}
【问题讨论】:
标签: jquery shadow-dom