Показать сообщение отдельно
  #9 (permalink)  
Старый 28.08.2013, 15:42
Новичок на форуме
Посмотреть профиль Найти все сообщения от etc.
 
Регистрация: 27.08.2013
Сообщений: 2

ArtemKrass,
Полагаю, что в данном случае работает "песочница", которую предоставляет гризманки пользовательским скриптам из соображений безопасности (подробнее тут - Greasemonkey_Manual:Environment).

Т.е. напрямую, через html, обработчик назначить нельзя:
function alertsms(){alert("Hello");}
element.innerHTML = '...<input ... onсlick="alertsms()">...';

Это можно обойти хаком:
unsafeWindow.alertsms = function(){alert("Hello");}
element.innerHTML = '...<input ... onсlick="alertsms()">...';

Но логичнее и безопаснее привязать обработчик c помощью js:
function alertsms(){alert("Hello");}
element.innerHTML = '...<input id="xyz"...>...';
document.getElementById('xyz').onclick = alertsms;
// или document.getElementById('xyz').addEventListener("click", alertsms, false);


P.S. Внешняя анонимная функция с вызовом «на месте» - это стандартный прием для локализации своих "глобальных" переменых: функция-с-вызовом-на-месте
Ответить с цитированием