2013-05-30 43 views
0

我有以下的代碼結構的eval()無法評估的innerHTML

<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()解析,因此,在「獲得總和「按鈕總是失敗。這是爲什麼?

+0

你到底想要在這裏發生什麼?我認爲你需要從頭開始重新編寫JavaScript – CodingIntrigue

+0

Blade0rz,謝謝你的美麗答案。 – user2314576

回答

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));'> 
+0

'

sum = function sum(a,b){return a+b;}
'這也將工作。 –

+0

這真的適用於IE,Chrome和Firefox。你知道這種行爲發生嗎?謝謝Ramesh。 – user2314576

+0

@ user2314576 yep :) –