如何在 AlertifyJS 中指定辅助按钮的动作?

How to specify actions for auxiliary buttons in AlertifyJS?

AlertifyJS 有放置辅助按钮的地方。

我希望在单击辅助按钮时发生两件事

  1. 对话框不应关闭
  2. 有些函数应该是运行

这两件事我该怎么做?

我可以通过将它作为第三个参数传递来让通知显示,但对话框消失了。另外,如果我有多个辅助按钮并且每个按钮都有不同的功能,这将不起作用。

下面是我的javascript,还有here is a JSFiddle.



    // Run this function when the auxiliary button is clicked
    // And do not close the dialog
    var helpInfo = function () {
        alertify.notify("help help help");
    };

    var custom = function () {
        if (!alertify.helper) {
            alertify.dialog('helper', function factory() {
                return {
                    setup: function () {
                        return {
                            buttons: [{
                                text: 'Help',
                                scope: 'auxiliary'
                            }],
                            options: {
                                modal: false
                            }
                        };
                    }
                };
            }, false, 'alert');
        }
        alertify.helper('Do you need help?', "hello world", helpInfo);
    };

    custom();

helpInfo 函数添加一个附加参数,以便您可以访问随事件一起传递的 Event 对象。现在您可以阻止它的默认操作(这将关闭对话框)。

var helpInfo = function (e) {
    alertify.notify("help help help");
    e.preventDefault();
};

AlertifyJS 回调将传递一个特殊的 closeEvent 对象。要保持对话框打开,您的回调应该将取消 属性 设置为 true 或简单地设置 return false.

var helpInfo = function (closeEvent) {    
   alertify.notify("help help help");    
   closeEvent.cancel = true;
  //or
  //return false;
};

Updated Fiddle