Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 可能是;“听”;为一个DOM元素创建一个CSS值,并告诉另一个DOM元素匹配它?_Javascript_Css_Drupal - Fatal编程技术网

Javascript 可能是;“听”;为一个DOM元素创建一个CSS值,并告诉另一个DOM元素匹配它?

Javascript 可能是;“听”;为一个DOM元素创建一个CSS值,并告诉另一个DOM元素匹配它?,javascript,css,drupal,Javascript,Css,Drupal,我试图破解Drupal的colorpicker模块,这样当我的用户拖动它挑选颜色时,他就能实时看到网站上的颜色变化 现在,colorpicker的js实时更改picker小部件的颜色 我想破解js,以便picker小部件和特定DOM元素的颜色立即改变背景颜色 有没有一种方法可以让我编写一些代码“侦听”colorpicker输入的背景色设置,然后更改输入的背景色 以下是Drupal将colorpicker小部件中的设置应用于其输入的代码: Drupal.behaviors.colorpicker

我试图破解Drupal的colorpicker模块,这样当我的用户拖动它挑选颜色时,他就能实时看到网站上的颜色变化

现在,colorpicker的js实时更改picker小部件的颜色

我想破解js,以便picker小部件和特定DOM元素的颜色立即改变背景颜色

有没有一种方法可以让我编写一些代码“侦听”colorpicker输入的背景色设置,然后更改输入的背景色

以下是Drupal将colorpicker小部件中的设置应用于其输入的代码:

Drupal.behaviors.colorpicker = function(context) {  
$("input.colorpicker_textfield:not(.colorpicker-processed)", context).each(function() {
var index = $('body').find('input.colorpicker_textfield').index($(this));
Drupal.colorpickers[index] = new Drupal.colorpicker($(this).addClass('colorpicker-processed'));
Drupal.colorpickers[index].init();
});
我可以添加什么来告诉它“侦听”输入.colorpicker\u textfield的背景色,然后在其更改时实时将该值设置为“body”?

尝试使用change()将其应用于bg

$("input").change( function () {
   //var below would obviously have to be correctly formatted.
   var newColor$(this).val();
   $(body).css({background-color: newColor});
});

与Cole的答案类似,但有一些改进(假设颜色选择器不包括“#”):

  • 使用更具体的选择器
  • 使用“实时”事件处理方法,确保处理程序将附加到任何动态创建的ColorPicker
  • 如果输入不是十六进制值,则不会更改背景色
  • 它直接使用style属性,而不是在jQuery对象中换行

我试图清理一些:$(“输入”).change(function(){//var下面显然必须正确格式化。var newColor=$(this.val();$(“body”).css({“background color”,newColor});
$('input.colorpicker_textfield').live('change', function() {
    var color = this.value;
    if(color.search((/^[A-Fa-f0-9]{6}/) != -1) {
        body.style.backgroundColor = '#'+this.value;
    }
});