我试图用SweetAlert覆盖javascript确认框。
我也对此进行了研究,但找不到合适的解决方案。
我正在这样使用confirm
if (confirm('Do you want to remove this assessment') == true) {
//something
}
else {
//something
}
我正在使用它来覆盖
window.confirm = function (data, title, okAction) {
swal({
title: "", text: data, type: "warning", showCancelButton: true, confirmButtonColor: "#DD6B55", confirmButtonText: "Yes", cancelButtonText: "No", closeOnConfirm: true, closeOnCancel: true
}, function (isConfirm) {
if (isConfirm)
{
okAction();
}
});
// return proxied.apply(this, arguments);
};
现在,请确认框已替换为sweetalert。
当用户单击
Yes
按钮时,应调用确认框的OK action
。但这不是并且在上面的代码中发生了错误
Uncaught TypeError: okAction is not a function
。请建议我,我应该为覆盖确认框做些什么。
最佳答案
由于自定义实现不是阻塞调用,因此您需要像这样调用它
confirm('Do you want to remove this assessment', function (result) {
if (result) {
//something
} else {
//something
}
})
window.confirm = function (data, title, callback) {
if (typeof title == 'function') {
callback = title;
title = '';
}
swal({
title: title,
text: data,
type: "warning",
showCancelButton: true,
confirmButtonColor: "#DD6B55",
confirmButtonText: "Yes",
cancelButtonText: "No",
closeOnConfirm: true,
closeOnCancel: true
}, function (isConfirm) {
callback(isConfirm);
});
// return proxied.apply(this, arguments);
};
关于javascript - 覆盖JavaScript确认框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30449990/