當前開發的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