我正在尝试使用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
。
请建议我,我应该为覆盖确认框做。
答案 0 :(得分:1)
由于自定义实现不是阻止调用,因此您需要将其称为
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);
};