2013-05-30 2 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» кнопку, чтобы запустить 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. Вы знаете, что такое поведение происходит? Спасибо Рамешу. – user2314576

+0

@ user2314576 yep :) –

Смежные вопросы