【发布时间】:2013-03-18 13:59:36
【问题描述】:
我想用其他方法扩展内置类 HTMLElement。也许我要疯了,但我认为以下是官方成语:
interface HTMLElement {
swapChildBefore(remove: HTMLElement, insert: HTMLElement, before: HTMLElement): void;
}
HTMLElement.prototype.swapChildBefore =
function (remove: HTMLElement, insert: HTMLElement, before: HTMLElement): void {
this.removeChild(remove)
this.insertBefore(insert, before)
}
至少,根据How does prototype extend on typescript?,这样的事情应该可以工作。
但是,这似乎隐藏了 HTMLElement 上的所有现有方法。那是因为我声明了一个接口,它隐藏了同名的类吗?但是这个习语似乎适用于 Object 和 Array,它们也是类。
【问题讨论】:
-
HTMLElement已经有一个以两个HTMLElement为参数的swapChildBefore方法。如果您想要具有三个参数的变体,则应该为该方法使用不同的名称。 -
哦,好的。谢谢。 (不过,我无法通过 Google 搜索。唯一的搜索结果是这个 StackOverflow 问题。)
标签: typescript