我正在尝试将2个条形码扫描仪应用到2个不同的按钮。问题是当我按下一个或另一个按钮时,每个按钮都使用这两个脚本。我需要如何分开它们?
按钮1:
<a class="uib-graphic-button default-graphic-sizing default-image-sizing hover-graphic-button active-graphic-button default-graphic-button default-graphic-text widget uib_w_52 d-margins skenavimo_tekstas media-button-text-bottom" data-uib="media/graphic_button"
data-ver="0" id="scan1" style="position: relative; display:block; float:center; width: 10%; padding-bottom: 10%;
width: 50%; margin: 0 auto; " onclick="scanNow();">
按钮2:
<a class="button widget uib_w_54 d-margins testas icon camera yellow" data-uib="app_framework/button" data-ver="1" id="scan2" onclick="scanNow2();">Scan</a>
SCRIPT1:
<script>
function scanNow()
{
//this function launches the QR Code scanner.
intel.xdk.device.scanBarcode();
}
document.addEventListener("intel.xdk.device.barcode.scan",function(evt){
if (evt.success == true) {
//successful scan
alert("I'm number 1");
}
else
{
//failed scan
alert("ERROR");
}
},false);
</script>
SCRIPT2:
<script>
function scanNow2()
{
//this function launches the QR Code scanner.
intel.xdk.device.scanBarcode();
}
document.addEventListener("intel.xdk.device.barcode.scan",function(ted){
if (ted.success == true) {
//successful scan
alert("I'm nubmer 2");
}else{
//failed scan
alert("ERROR");
}
},false);
</script>
答案 0 :(得分:2)
您在代码中注册了2个事件处理程序,因此当您调用intel.xdk.device.scanBarcode();
时都会触发它们您应该有一个事件处理程序并处理事件处理程序中的2个案例,如下所示:
<script>
var scan = 0;
function scanNow(){
scan = 1;
intel.xdk.device.scanBarcode();
}
function scanNow2(){
scan = 2;
intel.xdk.device.scanBarcode();
}
document.addEventListener("intel.xdk.device.barcode.scan",function(ted){
if (ted.success == true) {
if(scan == 1){
scan = 0;
alert("I'm number 1");
} else if(scan == 2){
scan = 0;
alert("I'm number 2");
}
}else{
alert("ERROR");
}
},false);
</script>