Skip to content
This repository

This is yet another colorpicker plugin for jQuery since most of them are not on GitHub nor being mantained at the moment.

branch: master
README.md

ColorPicker

This is yet another colorpicker plugin for jQuery since most of them are not on GitHub nor being mantained at the moment.

The plugin is a fork of the one developed by Stefan Petre who seems not to be interested in it anymore. I needed a powerfull colorpicker for one of my projects so I updated it and then thought it would be nice if it would were freely available.

You can see the demo now.

Features

  • Flat model - as element in page, attached to an input and custom widget.
  • Powerful controls for color selection
  • Easy to customize the look by changing some images
  • Fits into the viewport
  • Powerful callback system to totally control the way it works

License

The plugin is currently dual licensed under the MIT and GPL licenses.

Implement

Attach the Javascript and CSS files to your document. Edit CSS file and fix the paths to images and change colors to fit your site theme.

    <link rel="stylesheet" media="screen" type="text/css" href="css/colorpicker.css" />  
    <script src="js/colorpicker.js"></script>

How to use

All you have to do, is to select the elements in a jQuery way and call the plugin over them.

    $('input').ColorPicker(options); 

Options

An object containing parameters. Please, note that all parameters are optional.

eventName (string): This is the desired event to trigger the colorpicker. Default: 'click'

color (string or object): The default color. String for hex color or hash for RGB and HSB ({r:255, r:0, b:0}) . Default: 'ff0000'

flat (boolean): Whether if the color picker is appended to the element or triggered by an event. Default false

livePreview (boolean): Whether if the color values are filled in the fields while changing values on selector or a field. If false it may improve speed. Default true

onShow (function): Callback function triggered when the colorpicker is shown

onBeforeShow (function) Callback function triggered before the colorpicker is shown

onHide (function): Callback function triggered when the colorpicker is hidden

onChange (function): Callback function triggered when the color is changed

onSubmit (function): Callback function triggered when the color is chosen

Methods

If you want to set a new color.

    $('input').ColorPickerSetColor(color);  

The 'color' argument is the same format as the option color, string for hex color or object for RGB and HSB ({r:255, r:0, b:0}).

Examples

Flat mode

    $('#colorpickerholder').ColorPicker({flat: true});  

Custom skin and using flat mode to display the color picker in a custom widget.

    $('#colorpickerholder2').ColorPicker({  
        flat: true,  
        color: '#EFEFEF',  
        onSubmit: function(hsb, hex, rgb) {  
            $('#colorselector div').css('backgroundColor', '#' + hex);  
        }  
    });  

Attached to a text field and using callback functions to update the color with field's value and set the value back in the field by submiting the color.

    $('#colorpickerfield').ColorPicker({  
        onSubmit: function(hsb, hex, rgb, el, parent) {  
            $(el).val(hex);  
            $(el).ColorPickerHide();  
        },  
        onBeforeShow: function () {  
            $(this).ColorPickerSetColor(this.value);  
        }  
    })  
    .bind('keyup', function(){  
        $(this).ColorPickerSetColor(this.value);  
    });  

Attached to DOM and using callbacks to live preview the color and adding animation.

    $('#colorselector2').ColorPicker({  
        color: '#EFEFEF',  
        onShow: function (colpkr) {  
            $(colpkr).fadeIn(500);  
            return false;  
        },  
        onHide: function (colpkr) {  
            $(colpkr).fadeOut(500);  
            return false;  
        },  
        onChange: function (hsb, hex, rgb) {  
            $('#colorselector2 div').css('backgroundColor', '#' + hex);  
        }  
    });

Thanks

I would like to thank to everybody that keeps mantaining this ColorPicker. By far, these people have been added/fixed something to this:

Something went wrong with that request. Please try again.