jQuery addClass example

Change class name on click in jQuery

HTML

<div id="banner-message">
  <p>Barcode test</p>
 <input type="text" id="input" />
 <pre></pre>
</div>

CSS

body {
  background: #20262E;
  padding: 20px;
  font-family: Helvetica;
}

#banner-message {
  background: #fff;
  border-radius: 4px;
  padding: 20px;
  font-size: 25px;
  text-align: center;
  transition: all 0.2s;
  margin: 0 auto;
  width: 300px;
}

JavaScript

var BarcodeScanner = function(options) {
     this.initialize.call(this, options);
};
BarcodeScanner.prototype = {
    initialize: function(options) {
       $.extend(this._options,options);
       if(this._options.debug) console.log("BarcodeScanner: Initializing");
       $(this._options.eventObj).on({
          keyup: $.proxy(this._keyup, this),
          keydown: $.proxy(this._keydown, this),
       });
    },
    destroy: function() {
    	$(this._options.eventObj).off("keyup",null,this._keyup);
    	$(this._options.eventObj).off("keydown",null,this._keydown);
    },
    fire: function(str){
    	if(this._options.debug) console.log("BarcodeScanner: Firing barcode event with string: "+str);
    	$(this._options.fireObj).trigger('barcode',[str]);
    },
    isReading: function(){
    	return this._isReading;
    },
    checkEvent: function(e){
    	return this._isReading || (this._options.isShiftPrefix?e.shiftKey:!e.shiftKey) && e.which==this._options.prefixCode;
    },
    _options: {timeout: 600, prefixCode: 36, suffixCode: 13, minCode: 32, maxCode: 126, isShiftPrefix: false, debug: false, eventObj: document, fireObj: document},
    _isReading: false,
    _timeoutHandler: false,
    _inputString: '',
    _keydown: function (e) {
   		if(this._input.call(this,e))
   			return false;
    },
    _input: function (e) {
    	if(this._isReading){
    		if(e.which==this._options.suffixCode){
    			//read end
    			if(this._options.debug) console.log("BarcodeScanner: Read END");
    			if (this._timeoutHandler) 
    		        clearTimeout(this._timeoutHandler);
    			this._isReading=false;
    			this.fire.call(this,this._inputString);
    			this._inputString='';
    		}else{
    			//char reading
    			if(this._options.debug) console.log("BarcodeScanner: Char reading "+(e.which));
    			if(e.which>=this._options.minCode && e.which<=this._options.maxCode)
    				this._inputString += String.fromCharCode(e.which);
    		}
    		return true;
    	}else{
   ...