Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/475.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 未捕获的DomeException:未能执行';定义';在';CustomElementRegistry';:此构造函数已用于此注册表_Javascript_Jquery_Dom_Customization_Domexception - Fatal编程技术网

Javascript 未捕获的DomeException:未能执行';定义';在';CustomElementRegistry';:此构造函数已用于此注册表

Javascript 未捕获的DomeException:未能执行';定义';在';CustomElementRegistry';:此构造函数已用于此注册表,javascript,jquery,dom,customization,domexception,Javascript,Jquery,Dom,Customization,Domexception,以下是完整的代码:- 类代码扩展了HtmleElement{ 构造函数(){ 超级(); const shadow=this.attachShadow({ 模式:“打开” }); 常量代码=document.createElement('code'); code.textContent=super.textContent; shadow.appendChild(代码); } } varΩ=(函数(){ "严格使用",; /** *创建构造函数 *@param{String}选择器要使用的选择器

以下是完整的代码:-

类代码扩展了HtmleElement{
构造函数(){
超级();
const shadow=this.attachShadow({
模式:“打开”
});
常量代码=document.createElement('code');
code.textContent=super.textContent;
shadow.appendChild(代码);
}
}
varΩ=(函数(){
"严格使用",;
/**
*创建构造函数
*@param{String}选择器要使用的选择器
*/
var构造函数=函数(选择器){
如果(!选择器)返回;
如果(选择器=='document'){
this.elems=[document];
}else if(选择器=='window'){
this.elems=[window];
}否则{
this.elems=document.querySelectorAll(选择器);
}
};
/**
*对每个项目运行回调
*@param{Function}回调要运行的回调函数
*/
Constructor.prototype.each=函数(回调){
如果(!callback | | typeof callback!=“function”)返回;
for(var i=0;i


这应该与上面的一样
错误是因为不能对多个CustomElement使用相同的构造函数。如果你想解决这个问题,可以复制+粘贴+重命名它,尽管这是多余的。你的解决方案还有其他选择吗?因为我的框架的用户不能这么做坦率地说,这是一种代码味道。为什么有两个元素需要同一个构造函数来做相同的事情?如果是这样的话,你不需要两个客户元素,只需要一个。嗯。。。那是一个。但是,如果两个模块需要使用相同构造函数的不同元素呢?我该怎么做?有什么想法吗?无复制粘贴