Я хочу загрузить некоторые функции, пока я нажимаю на кнопку в сладком оповещении - PullRequest
0 голосов
/ 11 апреля 2019

Я хочу загрузить функцию Shome, нажимая на мою кнопку.У меня есть код для того, что я написал ниже.Пожалуйста, посмотрите.Он работает, когда я нажимаю на кнопку Подтвердить, но мне нужно загрузить эту функцию, когда я нажимаю на мою кнопку.

'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);
                      });
                  });

1 Ответ

0 голосов
/ 11 апреля 2019

Нажав на кнопку, используйте jquery, чтобы проверить, готов ли ваш подсластитель, и выполните функцию.

'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);
                  });
              })
...