Javascript 只有在按键后才能改变颜色

Javascript 只有在按键后才能改变颜色,javascript,jquery,html,css,hex,Javascript,Jquery,Html,Css,Hex,所以我有一个页面,当你输入一个十六进制,它会变成那个背景。问题是,出于某种原因,您需要先按空格键。我的问题是,我如何才能拥有它,以便在初始加载时,您可以在不按空格键的情况下直接输入它?下面是我的代码,用于输入背景更改 $('.hex').keyup(function(){ var a = $(this).val(); $('#example').text(a); console.log(a); $('body').css('backgroun

所以我有一个页面,当你输入一个十六进制,它会变成那个背景。问题是,出于某种原因,您需要先按空格键。我的问题是,我如何才能拥有它,以便在初始加载时,您可以在不按空格键的情况下直接输入它?下面是我的代码,用于输入背景更改

 $('.hex').keyup(function(){
      var a = $(this).val();
      $('#example').text(a); 
      console.log(a); 
      $('body').css('background', '#'+a);
});

演示。在第一个框中输入十六进制。什么也不会发生,然后按空格键并输入另一个十六进制

您需要将
onkeyup
事件处理程序注册代码放置在
onkeydown
事件处理程序之外

以下是
onkeydown
事件处理程序中的代码:

$(document).keydown(function(e) {
  if (e.keyCode == '32') {
     //...
     //you placed the onkeyup event handler registering code here
     //which is wrong
  }
}
//you should place the code here
$('.hex').keyup(function(){
  var a = $(this).val();
  $('#example').text(a); 
  console.log(a); 
  $('body').css('background', '#'+a);
});

这是因为所有内容都在
if
语句中,它检查
if(e.keyCode='32')
keyCode==32
space