我是instascan的新手。当我通过QRCode检查扫描时,一切正常。但是,如果我尝试切换为手动,则无法使用。似乎输入类型已禁用。但是重置按钮可以正常工作。 我的代码是
<javascript>
let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
scanner.addListener('scan', function (content) {
decode(content);
//alert(content);
});
Instascan.Camera.getCameras().then(function (cameras) {
if (cameras.length > 0) {
scanner.start(cameras[1]);
} else {
alert("no camera found");
}
}).catch(function (e) {
console.error(e);
});
$("#choose").on("change", function(){
if(document.getElementById('qrcode').checked) {
document.getElementById("manual").style.display="none";
document.getElementById("qrcoded").style.display="block";
}else {
document.getElementById("qrcoded").style.display="none";
document.getElementById("manualed").style.display="block";
}
});
</javascript>
<html>
<div id="choose">
<input type="radio" style="display:none" name="choose" id="qrcode" value="qrcode"><label for="qrcode">qrcode</label>
<input type="radio" style="display:none" name="choose" id="manual" value="manual"><label for="manual">manual</label>
</div>
<div class="col-md-12" id="qrcoded" style="display:none;">
<div class="preview-container">
<video width="50%" id="preview"></video>
</div>
<button class="btn btn-default btn-sm" onclick="reset()">Reset</button></h2>
</div>
<div class="col-md-12" id="manualed" style="display:none">anything</div>