动态创建javascript并将其用于输入类型=" text"

时间:2017-06-20 23:32:22

标签: javascript

我创建了一个可以通过输入类型改变元素的Web应用程序=" text" .App包含动态创建的CSS并且工作正常。但动态创建的Javascript不起作用。如何在输入类型=" text"中启用动态创建的脚本?并在发短信时运行更改值?我想输入document.body.style.color =' red&#39 ;;或警告("你好");并看到与CSS相同的变化。

var a = document.createElement("style");
a.type = "text/css";
document.body.appendChild(a);

var b = document.createElement("script");
b.type = "text/javascript";
document.body.appendChild(b);

function changeBackgrounds() {

  document.body.style.color = document.querySelector("#r").value;
  document.body.style.fontStyle = document.querySelector("#r").value;
  document.querySelector(".p").innerHTML = document.getElementById("r").value;
  document.body.style.backgroundImage = document.querySelector("#r").value;
  document.querySelector("video.video2").style.transition = document.querySelector("#r").value;
  document.querySelector("video.video3").style.animation = document.querySelector("#r").value;

  a.innerHTML = document.querySelector("#r").value;
  b.innerHTML = document.querySelector("#r").value;

  document.body.style.overflow = document.querySelector("#r").value;
  document.body.style.textDecoration = document.querySelector("#r").value;
  document.body.style.animation = document.querySelector("#r").value;

}

1 个答案:

答案 0 :(得分:0)

<强>问题:

  

我想在输入中键入JavaScript并让它立即执行。

以下是您要求的简单版本,我认为。

路线:

只需在textarea中键入一些JavaScript并观察它的执行情况。例如,键入:textarea.style.borderColor = 'red';不要复制和粘贴,输入您想要的内容)。如果你愿意,你可以改进语句检测,正如我所说,这是一个简单的版本。

<强>答案:

&#13;
&#13;
var textarea = document.getElementById('textarea');

textarea.onkeydown = (e) => {
  // Statement detection
  if(e.keyCode === 186) {
    execute(textarea.value);
  }
}

function execute(text) {
  var script = new Function(text);
  return(script());
}
&#13;
textarea {
  height: 100px;
  width: 200px;
}
&#13;
<textarea id="textarea"></textarea>
&#13;
&#13;
&#13;