Начните эту проблему сегодня, разместив ее в том случае, если у кого-то другая проблема.
var execBtn = document.createElement('input');
execBtn.setAttribute("type", "button");
execBtn.setAttribute("id", "execBtn");
execBtn.setAttribute("value", "Execute");
execBtn.setAttribute("onclick", "runCommand();");
Оказывается, чтобы IE запускал onclick в динамически сгенерированном элементе, мы не можем использовать setAttribute. Вместо этого нам нужно установить свойство onclick на объект с анонимной функцией, завершающей код, который мы хотим запустить.
execBtn.onclick = function() { runCommand() };
ПЛОХИЕ ИДЕИ:
Вы можете сделать
execBtn.setAttribute("onclick", function() { runCommand() });
но он будет ломаться в IE в нестандартном режиме в соответствии с @scunliffe.
Вы не можете сделать это вообще
execBtn.setAttribute("onclick", runCommand() );
потому что он выполняется немедленно и устанавливает результат runCommand() как значение атрибута onClick, и вы не можете сделать
execBtn.setAttribute("onclick", runCommand);