Сообщение от j0hnik
|
в корне неправильный подход.
во первых хорошим тоном считается не встраивать в html теги обработчики, а так чтобы вешать через setAttribute вижу впервые.
напишите что хотите сделать, подскажем как будет правильно.
|
В данном случае эвенты могу вешать только на g элементы, поскольку у меня svg поле с g элементами, в которых polygon и text.
А что надо... В целом, я уже выше всё описал, да и не важно куда эвент вешать, проблема актуальна на любом элементе будет.
В общем, всё, что мне надо, это при добавлении эвента элементу, передать в него значение переменной, а не название переменной, дабы при срабатывании эвента в функцию (в моём случае) передавалось сразу готовое значение, а не пустое значение необъявленной переменной (в пределах эвента).
Короче, если мы используем этот способ:
g.onclick = function () { faunaAdd(scale); };
то получаем следующий эвент:
function () { faunaAdd(scale); };
А если используем тот костыль, до которого я дошёл:
g.setAttribute("onclick", "faunaAdd(" + scale + ");");
то получаем на выходе следующее: ( scale = 0.3; )
function () { faunaAdd(0.3); };
И вот мне надо получить последнее, но нормальными путями, если это возможно, конечно же.
П.с.: ещё уточню, что это новый элемент:
var g = document.createElementNS("http://www.w3.org/2000/svg", "g");