<html>
<body>
<input type="text" onFocus="javascript:findPosY()"/>
<script type="text/javascript">
eval( function findPosY(){alert("OK");});
</script>
</body>
</html>
执行上述代码时,未调用eval()函数,并且不显示警报。
答案 0 :(得分:2)
答案 1 :(得分:0)
您应该将字符串传递给eval函数:
<html>
<body>
<input type="text" onFocus="javascript:findPosY()"/>
<script type="text/javascript">
eval( 'function findPosY(){alert("OK");}');
</script>
</body>
</html>
答案 2 :(得分:0)
您的代码执行双重评估。第一个eval
用于内联事件处理程序(通过te方式不需要javascript:
部分)。接下来,尝试在脚本标记中eval
。如其他答案所示,eval
需要一个字符串。但在这种情况下eval
凌是完全没必要的。你的代码片段应该是这样写的:
<html>
<body>
<input type="text" onfocus="findPosY()"/>
<script type="text/javascript">
function findPosY(){
alert("OK");
}
</script>
</body>
</html>
答案 3 :(得分:0)
<html>
<body>
<input type="text" onFocus="javascript:findPosY()"/>
<script type="text/javascript">
eval('(function (){alert("OK");})()');
</script>
</body>
</html>
请注意字符串末尾的括号是eval'd,这将调用该函数。