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);
相关推荐
绿豆饼 2020-07-28
malonely 2020-07-20
chenxiangpeng 2020-04-30
kfq00 2020-04-10
malonely 2020-01-19
liujia 2019-12-27
chunianyo 2019-12-14
kfq00 2014-06-30
朱莉的乔夫 2015-03-26
kehongyong 2015-05-12
Go贝壳 2015-06-14
莫封洛 2015-06-13
shichong 2015-05-14
MonkeyKingBi 2015-10-30
百度通告 2015-12-26
welldum 2019-09-07
inyiyi 2018-09-05
Matrox 2018-09-21