封装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...');
})