cordova 掃碼報錯:scan is already in progress


  公司APP使用cordova框架進行開發,在一些功能升級后, 掃碼突然報錯:scan is already in progress。

 

 

   項目之前使用沒有發現這個問題,百度了一翻發現這類問題較少,仔細想了想不應該是cordova本身的問題。應該是本次系統升級造成的,極有可能是同時調用多次才會有這樣的提示。頁面元素是JS動態生成,重點:頁面上的“掃描條碼”按鈕,是采用$this.delegate('.lr-btn-outlined', 'tap'這類動態綁定方法,將點擊事件動態綁定上去的。

  研究一翻終於找到了症結所在,原來是動態生成這個button的時候給了一個固定的ID,造成點擊一次可能會有多個按鈕響應,所以在這里每次動態生成button的的時候給一個不同的ID,問題就解決了。

  如下:ID命名使用_item.field + _index,即可生成不同的ID。

  問題完美解決!

case 'scanbutton':
                    _compontHtml = '<div class="lr-edit-grid-row" ><label>' + _item.name + '</label><button type="button" class="lr-btn-outlined lr-btn-success"  id="' + _item.field + _index + '">掃描' + _item.name + '</button ></div>';
                    $html.append(_compontHtml);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM