【问题标题】:Color change only after key press仅在按键后颜色变化
【发布时间】:2014-08-05 01:20:11
【问题描述】:

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

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

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

【问题讨论】:

    标签: javascript jquery html css hex


    【解决方案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.

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-06-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-03-25
        • 1970-01-01
        • 2014-07-28
        • 2021-05-29
        相关资源
        最近更新 更多