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