2010-07-23 58 views
1

我想要做類似Object.prototype.dataTransfer = new DataTransfer();,但我希望每個新對象都有自己的dataTransfer。我該怎麼做呢?JavaScript Object.prototype按值

例如,如果我這樣做

 
var a = new Object(); 
var b = new Object(); 
Object.prototype.dataTransfer = new Object(); 
a.dataTransfer.prop = 1; 
b.dataTransfer.prop = 2; 

我想a.dataTransfer.prop仍然是1,不2.

對於背景下,我試圖破解WebKit和IE瀏覽器,以便.dataTransfer對象的拖放事件適當地工作。

+1

在附註中,您應該**從不**擴展Object.prototype。 – 2010-07-23 03:34:29

+0

^如果你使用別人的(另一個人)蹩腳的代碼,不能處理它:D – 2010-07-23 05:09:28

回答

1

通常情況下,您會將它添加到構造函數中,但由於您想要擴展宿主對象(HTMLDomElement),所以您不想要這樣做。但是,如果您將問題的定義擴大到超出此類具體實現細節的範圍之外,則可能存在另一種方式,例如具有不同(可能)用戶的API庫,其工作方式根據所處的瀏覽器而異,成功地進行抽象瀏覽器並提供統一的API。

相關問題