Sweetalert: Mendapatkan 'Uncaught RangeError: Ukuran tumpukan panggilan maksimum terlampaui.' kesalahan

Dibuat pada 10 Okt 2014  ·  10Komentar  ·  Sumber: t4t5/sweetalert

SweetAlert bekerja dengan sempurna, tetapi saya mengalami kesalahan. Saya menggunakan modal bootstrap dan ketika saya membukanya, saya juga menggunakan SweetAlert. Setelah saya mengklik 'Batal', 'OK'.... di SweetAlert, saya mendapatkan kesalahan 'Uncaught RangeError: Maksimum ukuran tumpukan panggilan terlampaui'. Masalahnya ada di sini:

      if (btnIndex === -1) {
        // Something in the dom, but not a visible button. Focus back on the button.
        $targetElement.focus();
      }

Ketika saya mengomentari kode ini, saya tidak memiliki kesalahan lagi.
PS: Saya tidak mendapatkan kesalahan ini ketika saya tidak membuka modal.

Komentar yang paling membantu

Saya punya solusinya:
Komentar keluar
$targetElement.focus ();
_Mungkin di baris 413._

Semua 10 komentar

Saya juga mengalami kesalahan ini.
Itu karena SweetAlert mogok dengan modal bootstrap, saya kira Anda mencoba untuk meminta peringatan manis ketika Anda memiliki modal terbuka (dari bootstrap). Saat itulah kesalahan yang Anda sebutkan ini terjadi.
Anda perlu entah bagaimana (well, saya tidak tahu apa kebutuhan Anda) pertama-tama tutup modal bootstrap, dan baru kemudian minta peringatan manis. Dan itu akan baik-baik saja.

Terima kasih @littleneotrix. Tepat, saya mencoba untuk meminta peringatan manis saat modal bootstrap dibuka dan solusi Anda benar-benar berfungsi, tetapi di aplikasi saya, saya harus membiarkannya seperti itu, inilah mengapa saya harus mengomentari kodenya.

Nah, jadi Anda bisa mencoba & memainkannya sedikit ...
Anda bisa dengan Javascript tepat sebelum Anda membuka Sweetalert, cukup gunakan .hide() pada modal bootstrap,
dan baru kemudian buka Sweetalert, tetapi lakukan seperti itu kurang lebih:

swal({   title: "Are you sure?",   text: "Your will not be able to recover this imaginary file!",   type: "warning",   showCancelButton: true,   confirmButtonColor: "#DD6B55",   confirmButtonText: "Yes, delete it!",   closeOnConfirm: false }, function(){   $('#myModal').modal('show')});

Seperti yang Anda lihat di fungsi di akhir objek, saya menyuruhnya untuk meminta kembali modal.
Jadi... pertama-tama sembunyikan modal -> Prompt the sweetalert -> pada konfirmasi sweetalert, prompt kembali modal.
Itu solusi terbaik yang bisa saya berikan ;)
Kecuali tentu saja bootstrap memperbaiki hal ini.

Saya mengalami masalah yang sama. Apakah ini masalah bootstrap atau sweetalert? Pesan peringatan dalam kasus saya dihasilkan oleh sweetalert, tetapi dapat disebabkan oleh bootstrap.

Saya mendapat kesalahan yang sama
dalam kasus saya, saya memiliki tombol di modal saya, tombol berarti menghapus sesuatu, ketika diklik saya menggunakan swal untuk mengonfirmasi, pada titik ini tidak ada kesalahan, tetapi ketika saya melanjutkan dan mengklik tombol 'batal' atau 'konfirmasi', saya mendapatkan kesalahan.

Saya mendapatkan masalah ini juga, menunda untuk menggunakan kelas peringatan bootstrap untuk saat ini.

Saya mengalami masalah yang sama dan menemukan cara yang layak untuk menanganinya. Saya pada dasarnya menyembunyikan modal, show swal, dan konfirmasi membawa kembali modal. Jika seseorang menggunakan magnific popup misalnya, kodenya akan terlihat seperti ini:

$('.mfp-wrap').hide();
swal({
    title: "Updated!",
    text: "#" + data.updateData['number'] + " was successfully updated",
    type: "success"
},
function(isConfirm) {
    $('.mfp-wrap').show();
});

Ini pada dasarnya apa yang @littleneotrix bicarakan. Saya hanya tidak menangkap penjelasannya pada awalnya dan berpikir saya akan memberikan contoh yang lebih rinci. Saya merasa ini adalah solusi yang cukup elegan untuk kasus penggunaan saya.

Bagi mereka yang bertanya, saya rasa tidak banyak yang dapat dilakukan pengembang untuk memperbaiki masalah ini. Modal ganda dan panggilan balik cukup besar.

Saya punya solusinya:
Komentar keluar
$targetElement.focus ();
_Mungkin di baris 413._

Cukup tambahkan $.fn.modal.Constructor.prototype.enforceFocus = function () {}; sebelum menelepon swal(...);

Mari kita simpan dalam satu masalah: https://github.com/aspnetboilerplate/aspnetboilerplate-templates/issues/48

Jangan ragu untuk mencoba ini lagi di SweetAlert 2.0.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

mouro001 picture mouro001  ·  3Komentar

blackrosezy picture blackrosezy  ·  6Komentar

rapeflower picture rapeflower  ·  4Komentar

girishbr picture girishbr  ·  5Komentar

yrshaikh picture yrshaikh  ·  4Komentar