вызов функции с параметром

 
0
 
JavaScript
ava
qpeHukc | 01.08.2007, 10:07
формирую в цикле объекты html. для каждого из них по событию вызывается функция с параметром, зависящим от его номера(от индекса, под которым он создался).

Проблема : все функции вызываются с индексом, равным последнему элементу цикла.

Упрощенный пример :


<body>

<div id="targetDiv">
</div>

<script type="text/javascript">

function createContents()
{
for(i=0;i<5;i++)
{
var newObj = document.createElement("div");
newObj.innerHTML = "i = " + i;
newObj.onclick = function() {alertValue(i);};

targetDiv.appendChild(newObj);
}
}

function alertValue(valueToAlert)
{
alert(valueToAlert);
}

createContents();

</script>

</body>


при нажатии на любой див выскакивает алерт с сообщением 5

а надо - 0, 1, 2...
Comments (2)
ava
qpeHukc | 01.08.2007, 14:06 #
спасибо за ссылки, ощутимо продвинули мои знания JS
Please register or login to write.
Firm of day
Вы также можете добавить свою фирму в каталог IT-фирм, и публиковать статьи, новости, вакансии и другую информацию от имени фирмы.
Подробнее
Contributors
advanced
Submit