Javascript 如何更改所需的div';通过在输入字段中输入十六进制颜色(带jQuery或不带jQuery)来设置背景色?
希望通过在输入字段中输入所需颜色自动更改40x40px框的背景色。我需要两种解决方案,有jQuery和没有(如果可能的话) 我写了一些代码,但在尝试将输入字段中的输入值和jQuery代码中的背景颜色属性值绑定时遇到了问题 HTML代码Javascript 如何更改所需的div';通过在输入字段中输入十六进制颜色(带jQuery或不带jQuery)来设置背景色?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,希望通过在输入字段中输入所需颜色自动更改40x40px框的背景色。我需要两种解决方案,有jQuery和没有(如果可能的话) 我写了一些代码,但在尝试将输入字段中的输入值和jQuery代码中的背景颜色属性值绑定时遇到了问题 HTML代码 输入颜色(十六进制代码): 这可能会帮助您: $('.pickedColor').on('change', function() { $('.elementToChange').css('background-color', $(this)
输入颜色(十六进制代码):
这可能会帮助您:
$('.pickedColor').on('change', function() {
$('.elementToChange').css('background-color', $(this).val());
})
对于jQuery,这应该是可行的
$('.pickedColor').on('change', function() {
var value = $(this).val();
$('.elementToChange').css('background-color' : value);
});
JQuery
您可以使用keyup
事件:
$('.pickedColor').keyup(函数(){
$('.elementToChange').css('background-color',$(this.val());
})
输入颜色(十六进制代码):
使用Jquery
没有javascript或jquery是不可能的,因为用户可以使用这些语言与html进行交互
var j, lenJ, listenerTargets;
listenerTargets = document.getElementsByClassName('pickedColor');
function listener() {
var targets = document.getElementsByClassName('elementToChange'),
i, lenI;
for (i = 0, lenI = targets.length; i < lenI; i++) {
targets[i].style["background-color"] = this.value;
}
}
for (j = 0, lenJ = listenerTargets.length; j < lenJ; j++) {
listenerTargets[j].addEventListener('change', listener);
}
var j、lenJ、listenerTargets;
listenerTargets=document.getElementsByClassName('pickedColor');
函数侦听器(){
var targets=document.getElementsByClassName('elementToChange'),
i、 莱尼;
对于(i=0,lenI=targets.length;i
工作小提琴:[
$(文档).ready(函数(){
$(“#colorInput”).focusout(函数(){
$('#divColor').css(“背景色”,$(“#colorInput”).val();
});
});
输入颜色(十六进制代码):
此外,您可能希望查看一些输入验证,以处理输入错误颜色值的情况。可能是一个开始。使用keyup事件的jQuery解决方案起到了作用。我不知道为什么代码带有“on change”事件不起作用…如果要使用onchange并避免点击enter选项卡-->请参见此项,它在点击enter后起作用。实际上,我想要的是在输入Nig hex color后立即更改div的颜色,而不点击enter。keyup事件起作用。
$("#pickedColorBtn").on("click",function(){
$(".elementToChange").css('background-color', $("#pickedColor").val());
});
var j, lenJ, listenerTargets;
listenerTargets = document.getElementsByClassName('pickedColor');
function listener() {
var targets = document.getElementsByClassName('elementToChange'),
i, lenI;
for (i = 0, lenI = targets.length; i < lenI; i++) {
targets[i].style["background-color"] = this.value;
}
}
for (j = 0, lenJ = listenerTargets.length; j < lenJ; j++) {
listenerTargets[j].addEventListener('change', listener);
}