Пробую в Firefox динамически создать
тэг "A" и назначить ему
свой onclick, в
текстовом виде, но ничего не выходит.
Смотрю onclick перед и после присвоения, - а он почему-то одинаково равен
null и до, и после.
В чём дело? Почему нельзя присвоить функцию в тестовом виде, или как это правильно сделать?
Вот код:
var anch = document.createElement('A');
anch.href='#';
alert('До присвоения: anch.onclick == ' + anch.onclick);
anch.onclick = "alert(this); return false; ";
alert('После присвоения\n"alert(this); return false; "\n\n== ' + anch.onclick);
anch.onclick = "alert(this);";
alert('После присвоения\n"alert(this); "\n\n== ' + anch.onclick);
anch.onclick = "javascript:alert(this);";
alert('После присвоения\n"javascript:alert(this);"\n\n== ' + anch.onclick);
anch.onclick = "function (){alert(this); return false; }; ";
alert('После присвоения\n"function (){alert(this); return false; }; "\n\n== ' + anch.onclick);
anch.onclick = "(function (){alert(this); return false; })";
alert('После присвоения\n"(function (){alert(this); return false; })"\n\n== ' + anch.onclick);
// а теперь попробуем назначить нетекстовую функцию
anch.onclick = (function (){alert(this); return false; });
alert('После присвоения\n(function (){alert(this); return false; })\n\n== ' + anch.onclick);
anch.onclick = function (){alert(this); };
alert('После присвоения\nfunction (){alert(this); }\n\n== ' + anch.onclick);
anch.innerHTML = 'click here';
document.body.appendChild(anch);