如果感觉原生的confirm满足不了你的要求,你可以尝试着自己去处理,下面是我自定义的confirm方法。代码如下:
function Confirm() {
var options = {
"title": "提示信息",
"confirm": "确定",
"cancel": "取消"
};
var selfDefault = arguments[0];
var opt = $.extend({}, options, selfDefault);//自定义参数覆盖默认参数
if (!opt.confirmCallback || typeof opt.confirmCallback != "function") {
console.error("必须有一个confirmCallback函数");
return;
}
if ($("body").find("#confirmDialog").length > 0) {
$("#confirmDialog").show();
} else {
var html = '<div class="js_dialog" id="confirmDialog" style="opacity: 1;">' +
'<div class="weui-mask"></div>' +
'<div class="weui-dialog">' +
'<div class="weui-dialog__hd"><strong class="weui-dialog__title">' +
opt.title +
'</strong></div>' +
'<div class="weui-dialog__ft">' +
'<a class="weui-dialog__btn weui-dialog__btn_default dialog-cancel">' + opt.cancel + '</a>' +
'<a class="weui-dialog__btn weui-dialog__btn_primary dialog-confirm">' + opt.confirm + '</a>' +
'</div>' +
'</div>' +
'</div>';
$("body").append(html);
}
$("#confirmDialog .dialog-cancel").on("click", function () {
$("#confirmDialog").hide();
if (opt.cancelCallback) {
opt.cancelCallback();
}
});
$("#confirmDialog .dialog-confirm").on("click", function () {
$("#confirmDialog").hide();
if (opt.confirmCallback) {
opt.confirmCallback();
}
});
}
用法举例,判断是否需要登陆代码如下:
if (data.value == "请先登录") {
Confirm({
title: data.value,
confirmCallback: function() {
setCookie("url", window.location.href);
window.location.href = "/index.php/Weixin/login/login";
}
})
} else {
alert(data.value);
}