允许用户键入随后在浏览器中执行的javascript代码

时间:2014-04-17 23:32:49

标签: javascript jquery

我想构建一些简单的模块来帮助我的学生学习javascript。我已经制作了一系列功能,我希望学生能够进入,然后执行该功能。例如。我有一个函数将图像从1 div移动到另一个div,名为move();然后我有一个文本字段,用户需要键入move();当他们点击提交时,我希望他们编写的代码能够被执行,这样他们就能看到它的作用。

我很难找到这个,并希望有人能指出我正确的方向。谢谢!

<body>
    <textarea id='userInput'></textarea>
    <div id='go'>Go</div>
    <div id='canvas'>
        <div id='r1c1' class='square'><img src='dog.png' id='dog'></div>
        <div id='r1c2' class='square'></div>
    </div>
</body>
</html>
    <script>
    $('document').ready(function(){
    $('#go').click(function(){
        var code = $('#userInput').val();
        EXECUTE code; //This is where I want the code to be executed//
    });
});

function move(){
    $('#dog').appendTo('#r1c2');
};

2 个答案:

答案 0 :(得分:1)

您可以将eval()用于此目的(在w3Schools上)

为了更进一步,您可以将代码包装在try catch块中以处理用户错误。

答案 1 :(得分:0)

您还可以使用大多数浏览器的控制台来执行javascript。点击 F12 以加载所有浏览器上的开发人员工具。单击控制台选项卡。输入javascript直到您满意为止。

此方法的一个优点是您应该能够执行页面上包含的任何代码。