Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
Javascript object class that on click opens window for colorpicking and on change replaces object background color
我有以下对象类。getBackground方法将input type='color'
的颜色值设置为等于对象bgc属性,然后打开颜色拾取窗口。之后,我想等到用户从颜色拾取窗口设置新的颜色值,并将object.bgc值更改为等于颜色拾取窗口的新值。
function Textclass(id){
this.id = id;
this.bgc = '#ff33cc';
var self = this;
this.render = function(){
var el = $('<div/>');
el.attr('id', this.id);
el.text('change-color');
el.addClass('box draggable');
el.css('background-color', this.bgc);
el.appendTo('#container');
el.on('dblclick', function(){
self.getBackground();
self.setBackground();
});
};
this.getBackground = function(){
var color = self.bgc;
$('#colorp').val(color);
$('#colorp').click();
// this line initiates before the change of color picker value
self.bgc = $('#colorp').val();
};
this.setBackground = function(){
$('#' + self.id).css("background-color",self.bgc);
};
}
所以我想要像这样的东西
this.getBackground = function(){
var color = self.bgc;
$('#colorp').val(color);
$('#colorp').click();
//wait for new value picked from the colorpicking window
// on button 'ok' clicked from colorpicking window get the new value and set object.bgc = this new value
};
这里onchange事件应该在颜色选择器上注册。另外,我猜你使用的是HTML5颜色类型。
请找到https://jsfiddle.net/rv5atgw5/.
function divColor(e){
var val = event.target.value;
document.querySelector("#divId").style.backgroundColor = val;
}
在您的示例中,在getBackgroundColor API中,像这样给colorpicker附加一个onchange处理程序。
this.getBackground = function(){
var color = self.bgc;
var colorp = $('#colorp');
colorp.val(color);
colorp.on('change',function(){
self.bgc = $(this).val();
});
colorp.click();
};
希望这能帮到你。
相关文章:
- Javascript对象类在单击时打开窗口进行颜色选择,并在更改时替换对象背景颜色
- 用图像而不是颜色填充对象(将图像绘制到画布上)
- 如何更改javascript对象的颜色
- Javascript对象颜色动态变化
- Three.js透明对象和颜色更改(load.obj+.mtl)
- three.js CanvasRenderer-设置对象的初始颜色和透明度纹理
- 缩放SVG图像以适应父对象,并在不同的实例中更改仪表颜色
- 将颜色框中的选择传递给父对象
- 更改 svg 对象颜色
- D3 - 如何向路径对象添加颜色
- 通过单击对象而不是下拉菜单来更改颜色
- Indesign 从所选对象获取颜色
- 如何使用图像更改对象的颜色
- 在WebGL中渲染多网格对象时,背景(画布)颜色将消失
- 是否可以创建一个具有多种颜色和字体大小的paper.js PointText对象
- 更改IE 7的对象和特定子项的CSS颜色
- 一个按钮,可更改对象的颜色3次
- 如何在单击时更改使用JSONLoader创建的对象的颜色
- 如何通过ctx.getImageData()比较从HTML5画布检索到的颜色对象(的内容)
- illustrator填充颜色对象