Показать сообщение отдельно
  #1 (permalink)  
Старый 07.11.2012, 03:05
Профессор
Отправить личное сообщение для Почемучкин Посмотреть профиль Найти все сообщения от Почемучкин
 
Регистрация: 11.05.2011
Сообщений: 241

Назначить oncick тегу A (anchor)
Пробую в 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);

Последний раз редактировалось Почемучкин, 07.11.2012 в 03:17.
Ответить с цитированием