關(guān)于Jquery與掃碼槍的那點(diǎn)事兒

廢話(huà)不多說(shuō),直接上代碼!

PS:前提,首先確定掃碼槍掃碼后的結(jié)束符,以回車(chē)結(jié)束。至于怎么設(shè)置,請(qǐng)咨詢(xún)你的賣(mài)家!

約定:需要獲取掃碼槍結(jié)果的input的ID為keyWords,頁(yè)面上其他的input或其他輸入控件是有ID的

PS:敲黑板:頁(yè)面上其他的input或其他輸入控件是有ID的

$(function () {
        //keyword獲得焦點(diǎn)
        $("#keyWords").focus();
        $(document).keyup(function(event){
            var val = $("#keyWords").val();
            //偽類(lèi) 是否獲得焦點(diǎn)判斷
            var $focused = $(':focus');
            var eventCode = event.keyCode;
            if(eventCode ==13 && (val!=null && val!='')){
                //你的回車(chē)邏輯
                                test();
                return false;
            }
            /*排除其他特殊字符,只對(duì)數(shù)字、字母、逗號(hào)進(jìn)行錄入*/
            else if((eventCode >=48 && eventCode<= 57)||(eventCode >=65 && eventCode<= 90)||(eventCode ==102)){
                //如果keyWords獲得焦點(diǎn),那么輸入值的時(shí)候就不進(jìn)行操作。避免在輸入值和輸入漢字的時(shí)候出現(xiàn)字符重復(fù)
                //如果沒(méi)有獲得焦點(diǎn),那么將掃碼槍獲得的值放到keyWords中
                var hasFocus = $('#keyWords').is(':focus');
                //在有多個(gè)input的情況下,其他input輸入值后會(huì)將輸入的值也放入keyWords中,這樣我們就需要對(duì)其他可輸入值的控件進(jìn)行驗(yàn)證
                //獲取當(dāng)前獲得焦點(diǎn)的控件ID
                var activeId = document.activeElement.id;
                console.log("當(dāng)前控件的ID:"+activeId+" 當(dāng)前控件的類(lèi)型是:"+document.activeElement.tagName);
                if(!hasFocus && (activeId==null||activeId=='')){
                    $("#keyWords").val(val+event.key);
                }
                return true;
            }
        });
    });

如果你的頁(yè)面上除了keyWords的input就沒(méi)有其他的輸入控件了,那么可以在你的回車(chē)業(yè)務(wù)后面加上讓所有控件失去焦點(diǎn),這樣就不用去判斷當(dāng)前的獲得焦點(diǎn)的ID了

//移除頁(yè)面上所有控件的焦點(diǎn)事件(所有控件失去焦點(diǎn))
        $("*").blur();
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. 原理 說(shuō)明:項(xiàng)目中使用的是標(biāo)準(zhǔn)的掃碼槍?zhuān)瑯?biāo)準(zhǔn)的意思就是它都不給開(kāi)發(fā)文檔。走的標(biāo)準(zhǔn)“輸入事件”,和外接鍵盤(pán)是一...
    瑟聞風(fēng)傾閱讀 18,075評(píng)論 10 11
  • ??JavaScript 與 HTML 之間的交互是通過(guò)事件實(shí)現(xiàn)的。 ??事件,就是文檔或?yàn)g覽器窗口中發(fā)生的一些特...
    霜天曉閱讀 3,690評(píng)論 1 11
  • Web網(wǎng)站測(cè)試流程和方法(轉(zhuǎn)載) 1測(cè)試流程與方法 1.1測(cè)試流程 進(jìn)行正式測(cè)試之前,應(yīng)先確定如何開(kāi)展測(cè)試,不可盲...
    夏了夏夏夏天閱讀 1,374評(píng)論 0 0
  • ¥開(kāi)啟¥ 【iAPP實(shí)現(xiàn)進(jìn)入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開(kāi)一個(gè)線(xiàn)程,因...
    小菜c閱讀 7,328評(píng)論 0 17
  • HTML基礎(chǔ) 本文包括 HTML基本知識(shí)與結(jié)構(gòu) HTML常見(jiàn)標(biāo)簽 標(biāo)簽寫(xiě)法與嵌套的討論 HTML、CSS、java...
    廖少少閱讀 2,211評(píng)論 2 21

友情鏈接更多精彩內(nèi)容