0

次のコード構造があります

<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()、その結果、[合計を取得] ボタンが常に失敗します。なぜこのようになっているのですか?

4

1 に答える 1

0

以下のコードは私のために働いた。

<script>  
function load_script()
{
  eval( document.getElementById("mydiv").innerHTML + "");
}
</script>

<div id="mydiv">sum = function (a,b){return a+b;}</div>

<input type="button" onclick="load_script()" value="Load Script">

<input type='button' value = 'Get Sum' onclick='alert(sum(1,2));'>
于 2013-05-30T12:11:29.163 に答える