问题
I'm trying to change the color of the cancel button like I can for the confirm button but it doesn't seem to work for some reason.
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
cancelButtonColor: "#DD6B55",
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
cancelButtonText: "No, cancel please!",
closeOnConfirm: false,
closeOnCancel: false
}, function (isConfirm) {
if (isConfirm) {
swal("Deleted!", "Your imaginary file has been deleted.", "success");
} else {
swal("Cancelled", "Your imaginary file is safe :)", "error");
}
});
回答1:
You are using this version of SweetAlert: https://github.com/t4t5/sweetalert and in the source JS file (https://t4t5.github.io/sweetalert/dist/sweetalert-dev.js), there is no such parameter to change color of cancel button.
In the file you have used, the params are:
var defaultParams = {
title: '',
text: '',
type: null,
allowOutsideClick: false,
showConfirmButton: true,
showCancelButton: false,
closeOnConfirm: true,
closeOnCancel: true,
confirmButtonText: 'OK',
confirmButtonColor: '#8CD4F5',
cancelButtonText: 'Cancel',
imageUrl: null,
imageSize: null,
timer: null,
customClass: '',
html: false,
animation: true,
allowEscapeKey: true,
inputType: 'text',
inputPlaceholder: '',
inputValue: '',
showLoaderOnConfirm: false
};
May I suggest you to use this version of SweetAlert: https://github.com/limonte/sweetalert2 as here the option to change the cancel button color is present.
You can modify the source code of the first JS file, however in the second version it is readily available.
There is always the option available to use CSS to modify button colors. But if you want to make it customizable using JS, then SweetAlert2 is a better alternative.
回答2:
[update => hover option]
Maybe it'll help someone who use 2nd version
https://sweetalert.js.org/guides/#installation
Javascript
swal({
title: "Apakah anda yakin?",
text: "Anda dapat mengaktifkannya lagi nanti...",
icon: "warning",
buttons: {
confirm : {text:'Ubah',className:'sweet-warning'},
cancel : 'Batalkan'
},
}).then((will)=>{
if(will){
$(".onoffswitch-checkbox").prop('checked',false);
}else{
$("#all_petugas").click();
}
});
CSS
...
.sweet-warning{
background-color: black;
#or anything you wanna do with the button
}
.sweet-warning:not([disabled]):hover{
#hover here
}
...
回答3:
You can try following.
SweetAlert.swal({
title: 'Thank you',
text: 'Thank you for using the quoting tool. Your Quote PDF has been downloaded. The quote has been sent to U.S. Legal for approval.',
type: 'warning',
confirmButtonText: 'Cancel',
confirmButtonColor: "#DD6B55"});
回答4:
Sweet Alert 1
In CSS you can do this:
.swal-button--confirm {
background: #0a0;
}
.swal-button--cancel {
background: #aaa;
}
.swal-button--danger {
background: #a00;
}
Add this if you don't want the button flash when it clicked.
.swal-button--confirm:active {
background: #0a0;
}
.swal-button--cancel:active {
background: #aaa;
}
.swal-button--danger:active {
background: #a00;
}
Hope it helps :D
回答5:
To have a custom Cancel button use the "customClass" function and build your css to target the cancel button.
JavaScript:
swal({
title: "Are you sure?",
text: "You will not be able to recover this imaginary file!",
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes, delete it!",
cancelButtonText: "No, cancel plx!",
closeOnConfirm: false,
closeOnCancel: false,
customClass: "Custom_Cancel"
},
function(isConfirm){
if (isConfirm) {
swal("Deleted!", "Your imaginary file has been deleted.", "success");
} else {
swal("Cancelled", "Your imaginary file is safe :)", "error");
}
});
CSS:
.Custom_Cancel > .sa-button-container > .cancel {
background-color: #DD6B55;
border-color: #DD6B55;
}
.Custom_Cancel > .sa-button-container > .cancel:hover {
background-color: #DD6B55;
border-color: #DD6B55;
}
回答6:
Add this to your css to override sweetalert2 style:
.swal2-styled.swal2-cancel{
background-color: #dc3545 !important;
}
回答7:
There is no default
way of doing this. But, you can override the style with custom css..
Check this fiddle: https://jsfiddle.net/74agy8ew/1/
回答8:
For those who want to use SweetAlert2, for example:
You can also migrate from SweetAlert to SweetAlert2 as needed.
Swal.fire({
title: 'Are you sure?',
text: "You won't be able to revert this! ⚠️",
type: 'warning',
showCancelButton: true,
// Background color of the "Confirm"-button. The default color is #3085d6
confirmButtonColor: 'LightSeaGreen',
// Background color of the "Cancel"-button. The default color is #aaa
cancelButtonColor: 'Crimson',
confirmButtonText: 'Yes, delete it!'
}).then((result) => {
if (result.value) {
Swal.fire({
type: 'success',
title: 'Deleted!',
text: "Your file has been deleted.",
timer: 2000,
showCancelButton: false,
showConfirmButton: false
})
}
})
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@8"></script>
来源:https://stackoverflow.com/questions/39837028/sweetalert-change-color-of-button