封装JQuery确认成一个函数
Encapsulate JQuery Confirm into a function
下面的代码就是示例Jquery确认
$.confirm({
title: 'Confirm!',
content: 'Simple confirm!',
buttons: {
confirm: function () {
return true;
},
cancel: function () {
return false
}
}
});
这段代码看起来不错,也让我去掉了JS Confirm。但是,如果我所有的按钮都有这样的代码,那么这段代码太多而且不合适,所以我决定制作一个函数,这样调用它..
function CustomConfirm (message) {
/* the JS Confirm above */
}
那我就这样叫吧
if (CustomConfirm("Are you sure you want to delete?") == true) {
/* true */
} else {
/* false */
}
我怎样才能做到这一点?
考虑到 $.confirm
库的工作方式,您不能按照您建议的方式在 if
条件下调用它。
它要求在实例化库时将每个按钮的回调函数提供给设置对象。在您的示例中,它看起来像这样:
function CustomConfirm(message, confirmCallback, cancelCallback) {
$.confirm({
title: 'Confirm!',
content: message,
buttons: {
confirm: confirmCallback,
cancel: cancelCallback
}
});
});
CustomConfirm("Are you sure you want to delete?", () => {
console.log('confirmed...');
}, () => {
console.log('cancelled...');
})
下面的代码就是示例Jquery确认
$.confirm({
title: 'Confirm!',
content: 'Simple confirm!',
buttons: {
confirm: function () {
return true;
},
cancel: function () {
return false
}
}
});
这段代码看起来不错,也让我去掉了JS Confirm。但是,如果我所有的按钮都有这样的代码,那么这段代码太多而且不合适,所以我决定制作一个函数,这样调用它..
function CustomConfirm (message) {
/* the JS Confirm above */
}
那我就这样叫吧
if (CustomConfirm("Are you sure you want to delete?") == true) {
/* true */
} else {
/* false */
}
我怎样才能做到这一点?
考虑到 $.confirm
库的工作方式,您不能按照您建议的方式在 if
条件下调用它。
它要求在实例化库时将每个按钮的回调函数提供给设置对象。在您的示例中,它看起来像这样:
function CustomConfirm(message, confirmCallback, cancelCallback) {
$.confirm({
title: 'Confirm!',
content: message,
buttons: {
confirm: confirmCallback,
cancel: cancelCallback
}
});
});
CustomConfirm("Are you sure you want to delete?", () => {
console.log('confirmed...');
}, () => {
console.log('cancelled...');
})