仅在按键后才会更改颜色

时间:2014-06-14 18:31:11

标签: javascript jquery html css hex

因此,当您输入HEX时我会有一个页面,并且它会更改为该背景。问题是,出于某种原因,您需要首先按空格键。我的问题是我怎么能拥有它,以便在初始加载时,你可以输入它而不需要按空格?这是我输入背景的代码

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

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

2 个答案:

答案 0 :(得分:1)

您需要将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);
});

Updated demo.

答案 1 :(得分:1)

因为一切都在if语句中,它检查if (e.keyCode == '32')keyCode==32space