我想加载一些功能,同时在甜蜜警报中单击我的按钮

问题描述 投票:-1回答:1

我想在点击我的按钮时加载shome功能。我有一个代码,我在下面写的。请看一看。当我点击confirmButton时它正在工作但我需要在我点击我的按钮时加载该功能。

'onClick' => "swal({
                    title: 'Scan Qr Code',
                    text: '<video id=\"preview\" width=\"100%\"></video><audio id=\"buzzer\" src=\"../beep.ogg\" type=\"audio/ogg\"></audio>',
                    html: true,
                    showCancelButton:true,
                    showConfirmButton:true,
                    allowOutsideClick:true,
                    cancelButtonText: 'Cancel',
                    confirmButtonText: 'Scan',
                    closeOnConfirm: false 
                  }, function(){                                                                                 
                      let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
                      scanner.addListener('scan', function (content) {
                        $('#buzzer').get(0).play();
                        alert(content);
                      });
                      Instascan.Camera.getCameras().then(function (cameras) {
                        if (cameras.length > 0) {
                          scanner.start(cameras[0]);
                        } else {
                          console.error('No cameras found.');
                        }
                      }).catch(function (e) {
                        console.error(e);
                      });
                  });
javascript sweetalert
1个回答
0
投票

在按钮上单击,使用jquery检查您的sweetalert是否准备就绪并执行该功能。

'onClick' => "swal({
                title: 'Scan Qr Code',
                text: '<video id=\"preview\" width=\"100%\"></video><audio id=\"buzzer\" src=\"../beep.ogg\" type=\"audio/ogg\"></audio>',
                html: true,
                showCancelButton:true,
                showConfirmButton:true,
                allowOutsideClick:true,
                cancelButtonText: 'Cancel',
                confirmButtonText: 'Scan',
                closeOnConfirm: false 
              });
$('#preview').ready(function(){                                                                                 
                  let scanner = new Instascan.Scanner({ video: document.getElementById('preview') });
                  scanner.addListener('scan', function (content) {
                    $('#buzzer').get(0).play();
                    alert(content);
                  });
                  Instascan.Camera.getCameras().then(function (cameras) {
                    if (cameras.length > 0) {
                      scanner.start(cameras[0]);
                    } else {
                      console.error('No cameras found.');
                    }
                  }).catch(function (e) {
                    console.error(e);
                  });
              })
© www.soinside.com 2019 - 2024. All rights reserved.