【发布时间】:2011-03-06 12:25:02
【问题描述】:
我的软件在 jquery jpicker 上运行良好。我得到了一种颜色,例如 FF0000,但我想在输入信息时添加“#”以使其具有 #FF0000。我假设您在回调期间这样做,但我无法弄清楚。
另外,我希望能够输入“红色”或“蓝色”,但似乎有一个不允许输入的按键提交。
谢谢。
【问题讨论】:
-
你为什么不发布一些代码让人们看到你在做什么。
我的软件在 jquery jpicker 上运行良好。我得到了一种颜色,例如 FF0000,但我想在输入信息时添加“#”以使其具有 #FF0000。我假设您在回调期间这样做,但我无法弄清楚。
另外,我希望能够输入“红色”或“蓝色”,但似乎有一个不允许输入的按键提交。
谢谢。
【问题讨论】:
this web page底部可以看到例子。
$('#colorSelector').ColorPicker({
color: '#0000ff',
onShow: function (colpkr) {
$(colpkr).fadeIn(500);
return false;
},
onHide: function (colpkr) {
$(colpkr).fadeOut(500);
return false;
},
onChange: function (hsb, hex, rgb) {
$('#colorSelector div').css('backgroundColor', '#' + hex);
}
});
【讨论】:
您必须为此编辑 jpicker-1.1.6.js:
第 ~455 行(用于在 INPUT 中更改它 - 实时编辑)...
bindedHex.val(bindedHex.val().replace(/[^a-fA-F0-9]/g, '').toLowerCase().substring(0, 6));
到
bindedHex.val(bindedHex.val().replace(/[^#a-fA-F0-9]/g, '').toLowerCase().substring(0, 7));
Row ~482(用于在 INPUT 内更改 - 编辑后)...
bindedHex && bindedHex.val(color.val('hex'));
到
bindedHex && bindedHex.val('#'+color.val('hex'));
Row ~525(用于在颜色面板中更改)...
if (bindedHex && context != bindedHex.get(0) && context != hex.get(0)) bindedHex.val(all != null ? all.hex : '');
到
if (bindedHex && context != bindedHex.get(0) && context != hex.get(0)) bindedHex.val(all != null ? '#'+all.hex : '');
【讨论】: