Javascript Keydown只运行一次代码

Javascript Keydown只运行一次代码,javascript,jquery,html,Javascript,Jquery,Html,因此,我有一个脚本,生成一个十六进制代码,并改变背景。这是密码 $(document).ready(function() { $(document).keydown(function(e) { if (e.keyCode == '32') { var color = "#" + Math.random().toString(16).slice(2, 8); document.write(color); document.body.style.backgro

因此,我有一个脚本,生成一个十六进制代码,并改变背景。这是密码

$(document).ready(function() {
$(document).keydown(function(e) {
  if (e.keyCode == '32') { 
     var color = "#" + Math.random().toString(16).slice(2, 8);
      document.write(color);
      document.body.style.backgroundColor = color;

    }
  });
});

问题是,当我按空格键时,它只会更改颜色一次,如果不重新加载页面,我将无法再次按空格键生成另一种颜色。演示。有什么想法吗

不要使用
文档。编写

它将擦除您的脚本,因此您应该将其附加到正文中:

$(document.body).append(color);
document.body.style.backgroundColor = color;
或添加跨距并设置其文本:

$("span").text(color);

$(document).ready(function(){

    $('body').on('keydown',function(e) {
              if (e.which == '32') {

                var color = "#" + Math.random().toString(16).slice(2, 8);
                $('body').css('background',color);


              }
            }); 

    });