我想做Object.prototype.dataTransfer = new DataTransfer();
之类的事情,但我希望每个新对象拥有它自己的dataTransfer
。我该怎么做?
例如,如果我这样做
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对象正常工作。
答案 0 :(得分:1)
通常你会在构造函数中添加它,但由于你想扩展一个宿主对象(HTMLDomElement),你真正想要的并不是真的。但是,如果您将问题的定义扩展到这样的特定实现细节之外,可能还有另一种方法, 例如,具有不同(可能)面向用户的API的库,根据其所在的浏览器的不同,工作方式抽象,并提供统一的API。