首页 > 解决方案 > 如何从输入中执行 JavaScript 代码

问题描述

我正在创建一个网页游戏,其中用户键入代码并将结果显示在屏幕上,用于网页设计类。我已经制作了一些东西来识别HTMLCSS代码,现在我正在尝试使用 JavaScript。我的问题是执行 JavaScript 代码。第一节课是关于变量的。

我创建了一个带有光标的可编辑屏幕,用户在其中键入代码:

在此处输入图像描述

正方形是输入中的光标。我将代码的第一部分放在输入上方,下面的分数只是为了显示将要发生的事情。用户插入他的代码(只是一个变量声明)并按下提交按钮来测试是否正确。试图获取代码并执行的是:

$("#submit").on("click", function(){
    var full_code = '$(document).ready(function() {' 
                        + $(".text").val() 
                        + 'setInterval(function() {ola.style.display = (ola.style.display == \'none\' ? \'\' : \'none\');}, 500);});';
    console.log(full_code);
    var functionJS = new Function(full_code);
    functionJS();
});

在这个例子中,我只想创建一个闪烁的动画。因此,我尝试获取先前的代码并附加到用户代码和其余代码以将所有字符串作为函数执行,但是代码的一部分:ola.style.display不起作用,因为它说变量ola为空。用户应该键入的内容如下:var ola = document.getElementById("ola");. 代码有什么问题?这是更好的方法吗?

标签: javascripthtml

解决方案


我可能需要查看更多关于这一切如何工作的代码,但我认为olanull 是因为您选择它的方式。
由于您正在使用 jQuery,您可以执行类似的操作$('#ola')来选择正确的元素,然后您可以评估样式。 https://api.jquery.com/id-selector/


推荐阅读