dist/bootstrap-tagsinput.js
function keyCombinationInList(keyPressEvent, lookupList) {
      var found = false;
      $.each(lookupList, function (index, keyCombination) {
          if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) {
              found = true;
              return false;
          }

          if (keyPressEvent.which === keyCombination.which) {
              var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey,
                  shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey,
                  ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey;
              if (alt && shift && ctrl) {
                  found = true;
                  return false;
              }
          }
      });

      return found;
  }
function keyCombinationInList(keyPressEvent, lookupList) {
      var found = false;
      $.each(lookupList, function (index, keyCombination) {
          if (typeof (keyCombination) === 'number' && keyPressEvent.which === keyCombination) {
              found = true;
              return false;
          }

          if (keyPressEvent.which === keyCombination.which) {
              var alt = !keyCombination.hasOwnProperty('altKey') || keyPressEvent.altKey === keyCombination.altKey,
                  shift = !keyCombination.hasOwnProperty('shiftKey') || keyPressEvent.shiftKey === keyCombination.shiftKey,
                  ctrl = !keyCombination.hasOwnProperty('ctrlKey') || keyPressEvent.ctrlKey === keyCombination.ctrlKey;
              if (alt && shift && ctrl) {
                  found = true;
                  return false;
              }
          }
      });

      return found;
  }
function keyCombinationInList ( keyPressEvent , lookupList ) { var found = false ; $ . each ( lookupList , function ( index , keyCombination ) { if ( typeof ( keyCombination ) === 'number' && keyPressEvent . which === keyCombination ) { found = true ; return false ; } if ( keyPressEvent . which === keyCombination . which ) { var alt = ! keyCombination . hasOwnProperty ( 'altKey' ) || keyPressEvent . altKey === keyCombination . altKey , shift = ! keyCombination . hasOwnProperty ( 'shiftKey' ) || keyPressEvent . shiftKey === keyCombination . shiftKey , ctrl = ! keyCombination . hasOwnProperty ( 'ctrlKey' ) || keyPressEvent . ctrlKey === keyCombination . ctrlKey ; if ( alt && shift && ctrl ) { found = true ; return false ; } } } ) ; return found ; }
Returns boolean indicates whether user has pressed an expected key combination.
@param object keyPressEvent: JavaScript event object, refer
http://www.w3.org/TR/2003/WD-DOM-Level-3-Events-20030331/ecma-script-binding.html
@param object lookupList: expected key combinations, as in:
[13, {which: 188, shiftKey: true}]
Returns boolean indicates whether user has pressed an expected key combination .