我在 bootstrap 上使用以下颜色选择器:

http://www.eyecon.ro/bootstrap-colorpicker/

我正在使用以下代码更改页面上元素的背景颜色:

<input type="text" id="mypicker" name="mypicker" value="" class="input-mini color"/>

<script type="text/javascript">
    $(function() {
        $("#mypicker").val('#ffffff');

        $("#mypicker").colorpicker({
            format: 'hex'})
            .on('changeColor', function(event) {

                $('#target').css('background',event.color.toHex());
            }
        );
    });
</script>

<div id="target" style="height:50px;width:50px;"></div>

除了当我尝试通过键入手动输入十六进制代码时,它还能工作。它似乎不会触发键盘上的颜色更新,甚至无法聚焦。

我通过编辑 src 'update:' 找到了一种方法来添加:
this.element.trigger({
                type: 'changeColor',
                color: this.color
            });

但是,我会认为会有更好的方法。

最佳答案

根据文档,您应该能够执行以下操作:

$('#mypicker').on('keyup', function() {
    $(this).colorpicker('setValue', $(this).val());
});

10-07 21:14