使用JavaScript獲取掃碼槍掃描得到的條形碼的思路代碼詳解
下面通過實例代碼給大家介紹js掃碼槍掃描條形碼的實現方法,具體代碼如下所示:
var keycode = ''; var lastTime=null,nextTime; var lastCode=null,nextCode;document.οnkeydοwn=function(e){if(window.event){// IEnextCode = e.keyCode} else if(e.which){// Netscape/Firefox/OperanextCode = e.which}//+鍵,增加新數據行if(nextCode==107 || nextCode==187){addNewGoodLine();} //-鍵,刪除最后一條數據行else if(nextCode==109 || nextCode==189){$('.new_products:last').remove();}//字母上方 數字鍵0-9 對應鍵碼值 48-57//數字鍵盤 數字鍵0-9 對應鍵碼值 96-105else if((nextCode>=48&&nextCode<=57) || (nextCode>=96&&nextCode<=105)){//數字鍵盤的鍵碼值對應的字符有問題,所以手動調整鍵碼值var codes = {’48’:48,’49’:49,’50’:50,’51’:51,’52’:52,’53’:53,’54’:54,’55’:55,’56’:56,’57’:57, ’96’:48,’97’:49,’98’:50,’99’:51,’100’:52,’101’:53,’102’:54,’103’:55,’104’:56,’105’:57};nextCode = codes[nextCode];nextTime = new Date().getTime(); if(lastCode == null && lastTime == null) { keycode = String.fromCharCode(nextCode); } else if(lastCode != null && lastTime != null && nextTime - lastTime <= 30) { keycode += String.fromCharCode(nextCode); } else{keycode = ''; lastCode = null; lastTime = null;} lastCode = nextCode; lastTime = nextTime;}//13 為按鍵Enterelse if(nextCode==13 && keycode!= ''){var code = $('.new_products:last .code').val();if(code != ''){//最后一行已錄入數據,重新生成新行addNewGoodLine();}$('.new_products:last .code').val(keycode).blur();keycode = ''; lastCode = null; lastTime = null;}}function addNewGoodLine(){//生成新數據行var html = ’<tr class='new_products'>’;html += ’<td></td>’;html += ’<td>’;html += ’<input type='text' οnblur='getProductDetail()' />’;html += ’</td>’;html += ’</tr>’;}function getProductDetail(){//獲取商品的詳細信息,然后賦值}
思路:
1.注冊onkeydown事件,捕獲數字鍵的按下事件
2.計算按下數字鍵的時間間隔,若間隔小于30毫秒,則為掃碼槍輸入
3.捕獲Enter案件的按下事件,判斷捕獲的掃碼槍輸入數值是否為空,不為空,對相應的文本框賦值,同時觸發按找條形碼查找商品的方法
總結
到此這篇關于使用JavaScript獲取掃碼槍掃描得到的條形碼的思路代碼詳解的文章就介紹到這了,更多相關js掃碼槍掃描條形碼內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!
相關文章: