Я пытаюсь записать положение объекта, принадлежащего строке. Поэтому в конце мне нужен один всеобъемлющий объект, в котором есть строка и позиция «com» внутри строки. Это мой код: (g
глобальный объект)пытается получить доступ к глубокому значению с помощью скобок нотации
g = {comPos:""}
$(".Com").draggable({
start: function(event, ui) {
var thisRow = $(this).closest("div[id^='step']");
g.thisRowID = thisRow.attr("id");
g.thisComID = $(this).attr("id");
console.log(g.thisComID); //returns the id value
},
stop: function(event, ui) {
var thisX = event.pageX;
var thisY = event.pageY;
var thisComPos = {
id: g.thisRowID,
x: thisX,
y: thisY
}
g.comPos[g.thisRowID][g.thisComID] = thisComPos; //undefined
}
});
Это ошибка, которую выбрасывают:
"TypeError: Cannot set property 'com1' of undefined"
Использование брекет обозначения так, как я возвращает неопределенное значение. Что я делаю не так? Скажите, пожалуйста, если вам нужно больше кода, я вставил ту часть, которая, по моему мнению, была актуальной.
Я думаю, мы должны увидеть определение 'G'. Что возвращает 'undefined', это' g.comPos [g.thisRowID] [g.thisComID] '? –
Можете ли вы включить объект "g"? –
@JulianD .-- g просто содержит пустой 'comPos'. 'g = {comPos:" "}' – dopatraman