扩展JavaScript类以从HtmleElement继承

扩展JavaScript类以从HtmleElement继承,javascript,Javascript,我目前正在努力使JavaScript类从HtmleElement继承,以便在调用document.createElement my custom elem时创建JavaScript类的对象 基本上,我所要做的就是将自定义元素映射到JavaScript类,以便对从自定义元素创建的对象的调用将直接调用JavaScript类成员 我尝试了以下所有方法,但没有成功: document.registerElement ('my-custom-element',{prototype:Object.creat

我目前正在努力使JavaScript类从HtmleElement继承,以便在调用document.createElement my custom elem时创建JavaScript类的对象

基本上,我所要做的就是将自定义元素映射到JavaScript类,以便对从自定义元素创建的对象的调用将直接调用JavaScript类成员

我尝试了以下所有方法,但没有成功:

document.registerElement ('my-custom-element',{prototype:Object.create(CustomElementJSClass.prototype)});

document.registerElement('my-custom-element', {prototype: Object.create(CustomElementJSClass.prototype),extends:'HTMLElement'});    
我打算单独使用JavaScript,而不使用其他附加库,因为我的环境中没有JavaScript

任何帮助、建议都将不胜感激。 谢谢
G.

要创建一个从HtmleElement继承的类,并将其用作自己的register自定义元素的原型,请尝试以下操作:

function CustomElementJSClass()
{
    this.play = function() { console.log('play'); };
}
CustomElementJSClass.prototype = Object.create(HTMLElement.prototype);

document.registerElement('my-custom-element', { prototype: new CustomElementJSClass() });
但您可以只使用一个原型链实例:

var proto = new CustomElementJSClass()

document.registerElement('my-custom-element', { prototype: proto });
document.registerElement('my-custom-element-other', { prototype: proto }); // NotSupportedError

因此,每次调用document.createElement'my-custom-element'函数时,都不可能触发构造函数调用。

可能重复我读过的内容。不幸的是,如果可能的话,对话没有概述如何实际使用is参数。您使用的是Polymer吗?您必须向extends属性传递标记的名称,而不是类型。一般来说,您可以扩展或。不,我只是使用带有JavaScript的浏览器。我的JavaScript类定义没有映射到DOM中的标记。