![]() |
|
||||||||||
|
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 2
|
У меня такая проблема. Есть объекты (условно - ячейки) в которых свалена куча других объектов (пусть будут карточки). Карточки можно таскать из одной ячеки в другую по одной и пачками, у них могут меняться свойства, кадры клипа и т.п. Ко всей этой конструкции мне нужно сделать кнопку "отменить перемещение". Для этого хотелось бы запоминать состояния ячейки из которой тащат карточки и ячейки, в которую кладут карточки до претаскивания, а потом просто возвращать ячейкам исходные состояния.
Я создаю Object (ячейку), в нём куча своиств и массив карточек, который тоже заполнен Object'ами. Вопрос - можно ли как-то исхитриться и клонировать объект со всеми его внутренними объектами. Т.е. чтобы в переменной получался новый объект с идентичными свойствами, а не ссылка на "клонируемый" объект. Должно получиться что-то вроде. Последний раз редактировалось HotHead; 29.08.2007 в 13:29. |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
HotHead, отредактируйте свой пост и оформите код тегами [code][/code].
|
|
|||||
|
Регистрация: Jul 2007
Сообщений: 306
|
Object.prototype.duplicateObject = function() {
var dupObj = new Object();
for(var i in this) {
if (typeof(this[i]) == "object") {
dupObj[i] = this[i].duplicateObject();
} else {
dupObj[i] = this[i];
}
}
return dupObj;
}
ASSetPropFlags(Object.prototype, ["duplicateObject"], 1); // needed ATM. because Object.prototype functions shows in for..in loops
|
|
|||||
|
Регистрация: Aug 2007
Сообщений: 2
|
Спасибо, такой вариант понятен. Я просто думал что есть что-нибудь встроенное на эту тему, типа cloneNode.
|
![]() |
![]() |
Часовой пояс GMT +4, время: 22:21. |
|
|
« Предыдущая тема | Следующая тема » |
|
|