次のコード構造があります
<script>
function load_script()
{
eval( document.getElementById("mydiv").innerHTML );
}
</script>
<div id="mydiv">function sum(a,b){return a+b;}</div>
<input type="button" onclick="load_script()" value="Load Script">
<input type='button' value = 'Get Sum' onclick='sum(1,2)'>
load_script()
関数を実行するために [スクリプトの読み込み] ボタンをクリックすると、関数innerHTML
が解析されずeval()
、その結果、[合計を取得] ボタンが常に失敗します。なぜこのようになっているのですか?