1
如何实时获取表单输入并使用它们更改元素的背景颜色?使用Javascript或jQuery获取表单输入以用于背景颜色操作
我有一个输入框,将接受六位的十六进制值:
<input name="acct-bcolor" id="acct-bcolor" class="color" value="141414">
在此先感谢。 -B
如何实时获取表单输入并使用它们更改元素的背景颜色?使用Javascript或jQuery获取表单输入以用于背景颜色操作
我有一个输入框,将接受六位的十六进制值:
<input name="acct-bcolor" id="acct-bcolor" class="color" value="141414">
在此先感谢。 -B
这应做到:
function updateColor(){
var len = $('#acct-bcolor').val().match(/[0-9A-F]{1}/ig).length;
if(len == 3 || len == 6)
$('body').css('background-color','#'+$('#acct-bcolor').val());
}
updateColor(); // Run once at page load
$('#acct-bcolor').bind('focus',function(){
$(this).bind('keyup', updateColor);
}).bind('blur.bgcolor',function(){
$(this).unbind('keyup');
});
你可以试试这个:
function validateColor (color) {
var strColor = color.toString();
return !!strColor.match(/^([\da-f]{3}|[\da-f]{6})$/i);
}
$('#acct-bcolor').change(function() {
var currentColor = $(this).val();
if(validateColor(currentColor) {
$('#colorPreview').css({'background-color' : '#'+ currentColor});
}
}
);