Mam funkcję, która tworzy trzy znaczniki obok obiektu. Ponieważ nie chciało mi się pisać tej samej instrukcji trzy razy i żeby zmniejszyć rozmiar skryptu zrobiłem trworzenie elementów przy pomocy pętli for. Chciałem równiez dodać do każdego ze znaczników dodać funkcję, która wyświetli tekst w momencie kliknięcia myszką. Jednak nie chce to zadziałac i w momencie utworzenia znaczników automatycznie jest uruchamiana funkcja pisania czego wynikime jest wyzwietlenie ostatniego napisu.

Stąd moje pytanie, czy ktoś ma pomysl jak mogę to naprawić. Dodatkowo, czy jest jakiś sposób, żeby jeszcze bardziej zminimalizować tą funkcję (pomijam ustawienia stylu - będą w pliku css).

Kod
addMarkers: function(){
            var newElement;
            var positionX = DD.Element.offsetLeft;
            var positionY = DD.Element.offsetTop;
            for(i=1;i<=3;i++)
            {
                newElement = document.createElement('div');
                newElementId = "m"+i;
                newElement.setAttribute('id',newElementId);
                document.body.appendChild(newElement);
                newElement.style.position = 'absolute';
                newElement.style.width = "10px";
                newElement.style.height = "10px";
                newElement.style.background = "#FF0000";
                switch(i)
                {
                    case 1:
                        newElement.style.left = (positionX-newElement.offsetWidth)+"px";
                        newElement.style.top = (positionY-newElement.offsetHeight)+"px";
                        newElement.onclick = DD.printText(i);
                        break;
                    case 2:
                        newElement.style.left = (positionX+(DD.Element.offsetWidth)/2-(newElement.offsetWidth/2))+"px";
                        newElement.style.top = (positionY-newElement.offsetHeight)+"px";
                        newElement.onclick = DD.printText(i);
                        break;
                    case 3:
                        newElement.style.left = (positionX+DD.Element.offsetWidth)+"px";
                        newElement.style.top = (positionY-newElement.offsetHeight)+"px";
                        newElement.onclick = DD.printText(i);
                        break;
                }
                
            }
        },
        printText: function(nr){
            info.innerHTML = 'napis-'+nr;
        }