解決
ちゃんとDOMを通じて弄りましょう、ということらしいです。
window.hoge = function(){ ...; } var i = document.createElement("input"); i.type = "button"; i.value = "hoge"; i.addEventListener("click", hoge, false); nanika.appendChild(i);
innnerHTMLを通じて操作したのと、DOMオブジェクトを通じて操作したのとで振る舞いが違うというのは、かなりボク的に違和感なんですが…まあ何かしら都合が悪いんだろうなあ。