элемент onclick событие не показывает данные - PullRequest
1 голос
/ 15 февраля 2012

У меня есть следующий скрипт для создания некоторых гиперссылок, которые являются числами, хранящимися в массиве. Я хочу иметь возможность щелкать эти цифры и получать конкретное число, которое будет отображаться в окне предупреждения. Я могу видеть ссылки, но когда я нажимаю на них, я не вижу никаких данных. Спасибо за руководство, я пытаюсь выучить JavaScript.

<html>
<body>
<script type="text/javascript">
var str="732176086,732176085,735219154,735219155,23948614,23948629,23948628,764488973,764488974,764488975,23948631,732164301,732164304,732164305,732164303,732164302,732168040,832567989,832567988,807573121,807573120,765867299,831150154,831150153,23951065,23952295";
var str_array=str.split(',');

for(var i=0;i<str_array.length;i++)
{

controlRef = document.createElement('a');
var newLine=document.createElement('br');
document.body.appendChild(newLine);
    controlRef.href = '#';
    controlRef.innerHTML = str_array[i];
    document.body.appendChild(controlRef); 
}
    controlRef.onclick = function () { alert(controlRef.innerHTML); };


</script>
</body>
</html>

1 Ответ

1 голос
/ 15 февраля 2012

Поместите обработчик щелчка внутри цикла for.

Вам также нужно сломать замыкание до controlRef. В противном случае controlRef будет указывать на последний элемент.

controlRef.onclick = (function(element) {
    return function() {
        alert(element.innerHTML);
    };
})(controlRef);

jsFiddle .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...