Konva.js 2D-холст - функция опускания мыши для динамически загружаемых элементов работает только для последнего загруженного элемента
Я использую Konva js в качестве библиотеки холста. Я сохраняю каждый добавленный элемент отдельно в базе данных и загружаю их, когда пользователь снова входит в редактор. Для этого я перебираю объект, содержащий каждый узел в формате json. Я столкнулся с проблемой, что каждая функция работает только для последнего добавленного элемента (то есть при нажатии на мышь выводится только последний elem_id). Любая помощь высоко ценится.
function showExElem(elem_obj) {
//Iterate over the object - create each element - assign to current layer
for (var key in elem_obj) {
var elem_json = elem_obj[key][0];
var elem_container_json = elem_obj[key][1];
var elem_id = elem_obj[key][2];
//Transform into elem and container
var realized_elem = Konva.Node.create(elem_json);
var realized_elem_container = Konva.Node.create(elem_container_json);
//Add to layer and redraw
layer.add(realized_elem);
realized_elem_container.nodes([realized_elem]);
layer.add(realized_elem_container);
//Draw the layer
layer.draw();
//On click of the element show the element container and trigger the edit fields at the top
realized_elem.on('mousedown', function () {
alert(elem_id);
//Hide all other containers
var containers = layer.find('.container');
containers.hide();
//Show the element container
realized_elem_container.show();
});
}
}