| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- (function ($) {
- $.fn.codeScanner = function (options) {
- var settings = $.extend({}, $.fn.codeScanner.defaults, options);
- return this.each(function () {
- var pressed = false;
- var chars = [];
- var $input = $(this);
- $(window).keypress(function (e) {
- var keycode = (e.which) ? e.which : e.keyCode;
- if ((keycode >= 65 && keycode <= 90) ||
- (keycode >= 97 && keycode <= 122) ||
- (keycode >= 48 && keycode <= 57)
- ) {
- chars.push(String.fromCharCode(e.which));
- }
- // console.log(e.which + ":" + chars.join("|"));
- if (pressed == false) {
- setTimeout(function () {
- if (chars.length >= settings.minEntryChars) {
- var barcode = chars.join('');
- settings.onScan($input, barcode);
- }
- chars = [];
- pressed = false;
- }, settings.maxEntryTime);
- }
- pressed = true;
- });
- $(this).keypress(function (e) {
- if (e.which === 13) {
- e.preventDefault();
- }
- });
- return $(this);
- });
- };
- $.fn.codeScanner.defaults = {
- minEntryChars: 8,
- maxEntryTime: 100,
- onScan: function ($element, barcode) {
- $element.val(barcode);
- }
- };
- })(jQuery);
|