JavaScript Object.prototype по значению - PullRequest
1 голос
/ 23 июля 2010

Я хочу сделать что-то вроде 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 событий перетаскивания работал должным образом.

1 Ответ

1 голос
/ 23 июля 2010

Обычно вы добавляете его в конструктор, но, поскольку вы хотите расширить хост-объект (HTMLDomElement), то, что вы хотите, на самом деле невозможно. Однако, если вы расширите определение своей проблемы за пределы конкретных деталей реализации, подобных этому, может быть другой путь, например, библиотека с другим (возможным) пользовательским API, который работает по-разному, в зависимости от того, в каком браузере он находится, успешно абстрагируя браузер и предоставляя единый API.

...