当前开发的Web组件规范的一部分是,人们可以创建自己的HTML元素,例如,通过调用新的document.register
。一个例子是在这里给出:https://github.com/mozilla/web-components/blob/master/demo/demo.htmlWeb组件:继承DOM原型
如可以看到的,一个新的x-bar
元件由具有其原型从HTML跨度元件的原型被继承创建。
现在我试着在Firefox每晚以下(含document.register
支持,顺便说一句):我一直在想,这将是在延长/自定义的行为或外观的第一步
var x = Object.create(HTMLInputElement.prototype);
普通input
元素。
但是,当我运行诸如x.value
之类的东西时,浏览器的Javascript引擎会抛出一个TypeError: Value does not implement interface HTMLInputElement
。
现在我有点卡住了。它是当前实现还是规范的限制?
下面的两个答案对我了解自定义元素如何扩展现有元素类型以及如何对这种行为进行多边填充非常有帮助。 由于我只能接受一个答案,我不得不作出选择。我接受了csuwldcat的回答,因为他给了我Firefox的预发布版本实际上已经坏掉的提示(其奇怪的行为是我最初的问题基本归结为什么)。 – Marc 2013-05-15 08:46:28