Extjs4 颜色选择器 ColorField
来源:互联网 发布:广州零点 数据分析 编辑:程序博客网 时间:2024/06/04 01:38
Extjs没有自带的颜色选择器,我在这自己实现了一个,使用方法与datafield完全一样
步骤如下:
1.实现一个Ext.form.field.Picker的子类
2.重写父类的createPicker方法,这个方法就是创建一个Ext.picker.Color对象。
3.写一个图标样式,及图片
.x-form-color-trigger {
background-image: url('../images/trigger-color.gif');
}
代码如下:
Ext.define('ColorField', {
extend:'Ext.form.field.Picker',
alias:'widget.colorfield',
requires:['Ext.picker.Color'],
triggerCls:'x-form-color-trigger',
createPicker:function () {
var me = this;
return Ext.create('Ext.picker.Color', {
pickerField:me,
renderTo:document.body,
floating:true,
hidden:true,
focusOnShow:true,
listeners:{
select:function (picker, selColor) {
me.setValue(selColor);
// 实现根据选择的颜色来改变背景颜色,根据背景颜色改变字体颜色,防止看不到值
var r = parseInt(selColor.substring(0,2),16);
var g = parseInt(selColor.substring(2,4),16);
var b = parseInt(selColor.substring(4,6),16);
var a = new Ext.draw.Color(r,g,b);
var l = a.getHSL()[2];
if (l > 0.5) {
me.setFieldStyle('background:#' + selColor + ';color:#000000');
}
else{
me.setFieldStyle('background:#' + selColor + ';color:#FFFFFF');
}
}
}
});
}
});
最终效果如下:
- Extjs4 颜色选择器 ColorField
- 颜色选择器
- 颜色选择器
- 颜色选择器
- 颜色选择器
- 颜色选择器
- 颜色选择器
- 颜色选择器
- ExtJs4.0颜色控件
- Extjs4 行颜色改变
- EXTJS4和JQuery选择器比较
- 文件选择器和颜色选择器
- Extjs4中Form之时间选择器timefield
- Extjs4中Form之日期选择器datefield
- Extjs4.2 选择器 Ext.ComponentQuery.query
- 在线颜色选择器收集
- 自制CSS颜色选择器
- HTML颜色选择器
- java获取当前时间
- OpenNI不用标定获取人体骨架
- Lighttpd与PHP
- 流水的启示
- 自定义进程条
- Extjs4 颜色选择器 ColorField
- directshow应用开发的常用操作函数
- 利用javascript写的32位MD5加密算法
- POI操作Excel文档-基础篇
- ActiveSupport源代码研究之 ActiveSupport::Concern
- 网页oject播放器
- jquery 插件之 floattextbox 修改版
- 串口通讯奇偶校验位的设置导致数据错误
- 3张表关联