SweetAlert ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΡΠ»ΠΈΡΠ½ΠΎ, Π½ΠΎ Ρ ΠΌΠ΅Π½Ρ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠ°. Π― ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΡ Π·Π°Π³ΡΡΠ·ΠΊΡ, ΠΈ ΠΏΠΎΠΊΠ° ΠΎΠ½Π° ΠΎΡΠΊΡΡΡΠ°, Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ SweetAlert. ΠΠΎΡΠ»Π΅ ΡΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρ Π½Π°ΠΆΠΌΡ Β«ΠΡΠΌΠ΅Π½Π°Β», Β«ΠΠΒ» .... Π² SweetAlert, Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ΅ Β«Uncaught RangeError: ΠΡΠ΅Π²ΡΡΠ΅Π½ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΠ΅ΠΊΠ° Π²ΡΠ·ΠΎΠ²ΠΎΠ²Β». ΠΡΠΎΠ±Π»Π΅ΠΌΠ° Π·Π΄Π΅ΡΡ:
if (btnIndex === -1) {
// Something in the dom, but not a visible button. Focus back on the button.
$targetElement.focus();
}
ΠΠΎΠ³Π΄Π° Ρ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄, Ρ ΠΌΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅Ρ ΠΎΡΠΈΠ±ΠΊΠΈ.
PS: Π― Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ ΠΎΡΠΈΠ±ΠΊΡ, Π΅ΡΠ»ΠΈ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π½Π΅ ΠΎΡΠΊΡΡΡΠΎ.
Π£ ΠΌΠ΅Π½Ρ ΡΠΎΠΆΠ΅ Π±ΡΠ»Π° ΡΡΠ° ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΡΠΎ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ SweetAlert Π²ΡΠ»Π΅ΡΠ°Π΅Ρ ΠΈΠ·-Π·Π° ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Ρ Π΄ΡΠΌΠ°Ρ, Π²Ρ ΠΏΡΡΠ°Π΅ΡΠ΅ΡΡ Π²ΡΠ΄Π°ΡΡ ΠΏΡΠΈΡΡΠ½ΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Ρ Π²Π°Ρ ΠΎΡΠΊΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠΉ (Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ). ΠΠΎΡ ΡΠΎΠ³Π΄Π° ΠΈ ΠΏΡΠΎΠΈΡΡ
ΠΎΠ΄ΠΈΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΠ°Ρ Π²Π°ΠΌΠΈ ΠΎΡΠΈΠ±ΠΊΠ°.
ΠΠ°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΊΠ°ΠΊΠΈΠΌ-ΡΠΎ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ (Π½Ρ, Ρ Π½Π΅ Π·Π½Π°Ρ, ΡΡΠΎ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ) ΡΠ½Π°ΡΠ°Π»Π° Π·Π°ΠΊΡΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈ ΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΡΠ΅ΠΌ Π²ΡΠ΄Π°ΡΡ ΡΠ»Π°Π΄ΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅. Π Π²ΡΠ΅ Π±ΡΠ΄Π΅Ρ Ρ
ΠΎΡΠΎΡΠΎ.
Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ @littleneotrix. Π’ΠΎΡΠ½ΠΎ, Ρ ΠΏΡΡΠ°Π»ΡΡ Π²ΡΠ·Π²Π°ΡΡ ΡΠ»Π°Π΄ΠΊΠΎΠ΅ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ» ΠΎΡΠΊΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠΉ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊ, ΠΈ Π²Π°ΡΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π½ΠΎ Π² ΠΌΠΎΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΌΠ½Π΅ Π½ΡΠΆΠ½ΠΎ Π±ΡΠ»ΠΎ ΠΎΡΡΠ°Π²ΠΈΡΡ Π΅Π³ΠΎ ΡΠ°ΠΊΠΈΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠ½Π΅ ΠΏΡΠΈΡΠ»ΠΎΡΡ ΠΏΡΠΎΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ΄.
Π§ΡΠΎ ΠΆ, ΡΠ°ΠΊ ΡΡΠΎ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠΈΠ³ΡΠ°ΡΡ Ρ ΡΡΠΈΠΌ ...
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Javascript ΠΏΡΡΠΌΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΠΌ, ΠΊΠ°ΠΊ ΠΎΡΠΊΡΡΡΡ Sweetalert, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ .hide () Π² ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ,
ΠΈ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΡΠΎΠΌ ΠΎΡΠΊΡΠΎΠΉΡΠ΅ Sweetalert, Π½ΠΎ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
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')});
ΠΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π² ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΠ°, Ρ Π³ΠΎΠ²ΠΎΡΡ Π΅ΠΌΡ Π²Π΅ΡΠ½ΡΡΡ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
ΠΡΠ°ΠΊ ... ΡΠ½Π°ΡΠ°Π»Π° ΡΠΊΡΠΎΠΉΡΠ΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ -> Π·Π°ΠΏΡΠΎΡΠΈΡΠ΅ sweetalert -> ΠΏΡΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΈ sweetalert Π²Π΅ΡΠ½ΠΈΡΠ΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.
ΠΡΠΎ Π»ΡΡΡΠ΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ Ρ ΠΌΠΎΠ³Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΡ;)
ΠΡΠ»ΠΈ, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π±ΡΡΡΡΡΠ°ΠΏ Π½Π΅ ΠΈΡΠΏΡΠ°Π²ΠΈΡ ΡΡΡ Π²Π΅ΡΡ.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ°. ΠΡΠΎ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΈΠ»ΠΈ ΡΠ»Π°Π΄ΠΊΠΎΠ³ΠΎ ΠΎΠΏΠΎΠ²Π΅ΡΠ΅Π½ΠΈΡ? ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π°ΡΡΠ΅Π΅ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Π³Π΅Π½Π΅ΡΠΈΡΡΠ΅ΡΡΡ sweetalert, Π½ΠΎ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²ΡΠ·Π²Π°Π½ΠΎ Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ.
Π£ ΠΌΠ΅Π½Ρ ΡΠ°ΠΊΠ°Ρ ΠΆΠ΅ ΠΎΡΠΈΠ±ΠΊΠ°
Π² ΠΌΠΎΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ Ρ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² ΠΌΠΎΠ΅ΠΌ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΠ΅ΠΉ, ΠΏΡΠΈ Π½Π°ΠΆΠ°ΡΠΈΠΈ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ swal Π΄Π»Ρ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΡ, Π½Π° Π΄Π°Π½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ ΠΎΡΠΈΠ±ΠΎΠΊ Π½Π΅Ρ, Π½ΠΎ ΠΊΠΎΠ³Π΄Π° Ρ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΠΈ Π½Π°ΠΆΠΈΠΌΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΡ `` ΠΎΡΠΌΠ΅Π½ΠΈΡΡ '' ΠΈΠ»ΠΈ `` ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠ΄ΠΈΡΡ '', Ρ ΠΏΠΎΠ»ΡΡΠ°Ρ ΠΎΡΠΈΠ±ΠΊΠ°.
Π― ΡΠΎΠΆΠ΅ ΠΏΠΎΠ»ΡΡΠ°Ρ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΠΏΠΎΠΊΠ° ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠ»Π°ΡΡΠ° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠΉ Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ.
Π― ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ Ρ ΡΠΎΠΉ ΠΆΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΎΠΉ ΠΈ ΠΏΡΠΈΠ΄ΡΠΌΠ°Π» Π΄ΠΎΡΡΠΎΠΉΠ½ΡΠΉ ΡΠΏΠΎΡΠΎΠ± Π΅Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ. Π― Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΊΡΡΠ²Π°Ρ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Ρ swal ΠΈ ΠΏΡΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΈΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π²Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΠ΅ Π²Π΅Π»ΠΈΠΊΠΎΠ»Π΅ΠΏΠ½ΠΎΠ΅ Π²ΡΠΏΠ»ΡΠ²Π°ΡΡΠ΅Π΅ ΠΎΠΊΠ½ΠΎ, ΠΊΠΎΠ΄ Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΠ°ΠΊ:
$('.mfp-wrap').hide();
swal({
title: "Updated!",
text: "#" + data.updateData['number'] + " was successfully updated",
type: "success"
},
function(isConfirm) {
$('.mfp-wrap').show();
});
ΠΡΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΡΠΎ, ΠΎ ΡΠ΅ΠΌ Π³ΠΎΠ²ΠΎΡΠΈΠ»Π° @littleneotrix . Π― ΠΏΡΠΎΡΡΠΎ ΡΠ½Π°ΡΠ°Π»Π° Π½Π΅ ΡΠ»ΠΎΠ²ΠΈΠ» Π΅Π³ΠΎ ΠΎΠ±ΡΡΡΠ½Π΅Π½ΠΈΠ΅ ΠΈ ΡΠ΅ΡΠΈΠ», ΡΡΠΎ ΠΏΡΠΈΠ²Π΅Π΄Ρ Π±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΡΠΉ ΠΏΡΠΈΠΌΠ΅Ρ. Π― ΡΡΠΈΡΠ°Ρ, ΡΡΠΎ ΡΡΠΎ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΠ»Π΅Π³Π°Π½ΡΠ½ΠΎΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π΄Π»Ρ ΠΌΠΎΠ΅Π³ΠΎ ΡΠ»ΡΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ.
ΠΠ»Ρ ΡΠ΅Ρ , ΠΊΡΠΎ ΡΠΏΡΠ°ΡΠΈΠ²Π°Π΅Ρ, Ρ Π½Π΅ Π΄ΡΠΌΠ°Ρ, ΡΡΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΌΠΎΠ³ΡΡ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ, ΡΡΠΎΠ±Ρ ΡΠ΅ΡΠΈΡΡ ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ. ΠΠ²ΠΎΠΉΠ½ΡΠ΅ ΠΌΠΎΠ΄Π°Π»ΡΠ½ΡΠ΅ ΠΎΠΊΠ½Π° ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΠ΅ Π²ΡΠ·ΠΎΠ²Ρ - ΠΈΠ·ΡΡΠ΄Π½ΠΎ.
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠ°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅:
$targetElement.focus ();
_ ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π² 413 ΡΡΠ΄Ρ. _
ΠΡΠΎΡΡΠΎ Π΄ΠΎΠ±Π°Π²ΡΡΠ΅ $.fn.modal.Constructor.prototype.enforceFocus = function () {};
ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ swal(...);
ΠΡΡΠ°Π²ΠΈΠΌ ΡΡΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅: https://github.com/aspnetboilerplate/aspnetboilerplate-templates/issues/48
ΠΠ΅ ΡΡΠ΅ΡΠ½ΡΠΉΡΠ΅ΡΡ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ ΡΡΠΎ Π΅ΡΠ΅ ΡΠ°Π· Π² SweetAlert 2.0.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
Π£ ΠΌΠ΅Π½Ρ Π΅ΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅:
ΠΠ°ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠΈΡΡΠΉΡΠ΅:
$targetElement.focus ();
_ ΠΠ΅ΡΠΎΡΡΠ½ΠΎ, Π² 413 ΡΡΠ΄Ρ. _