Вы можете сохранить ссылку на объект SVG, созданный в простой переменной javascript.Итак, когда вы создаете фигуру, вы можете сделать это:
myRect = document.createElementNS("http://www.w3.org/2000/svg", "rect");
Теперь у вас есть ссылка на форму объекта SVG.Но если вы хотите сделать их интерактивными, вам просто нужно добавить атрибуты к объекту следующим образом:
myRect.setAttribute("onclick", "jsFunc()");
, где jsFunc () - это ранее определенная функция.Кроме того, чтобы упростить задачу, вы можете установить события следующим образом:
myRect.onclick = function(){jsFunct(this, otherArg);}
Теперь вы можете не только получить ссылку на переменную, но и передать саму переменную в функцию jsFunc, используя такую альтернативу черезиспользование указателя this.
Если вам нужно создать множество прямоугольников, вы можете сохранить их все в одном массиве, чтобы иметь доступ к каждому элементу с помощью индекса:
myRect = new Array();
for(i = 1; i <= numMakes; i = i + 1){
myRect[i] = document.createElementNS("http://www.w3.org/2000/svg", "rect");
}
Помните, чтобы получить свойство или атрибут вашего объекта, вы можете использовать функцию getAttribute, например:
fillColor = myRect.getAttribute("fill");
x = myRect.getAttribute("x");
и т. Д.
Вы можете создать новыйпеременный тип объекта и установите, что один член является формой svg, а остальные члены являются вашими настраиваемыми полями данных.
var myRect = new Object();
myRect.shape = document.createElementNS("http://www.w3.org/2000/svg", "rect");
myRect.customField = myValue;