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

时间:2015-03-06 17:15:22

标签: alertifyjs

AlertifyJS可以放置辅助按钮。

我想在点击辅助按钮时发生两件事

  1. 对话框不应关闭
  2. 应该运行某些功能
  3. 我该如何做这两件事?

    我可以通过将其作为第三个参数传递来显示通知,但对话框会消失。此外,如果我有多个辅助按钮和每个辅助按钮的不同功能,这将无效。

    以下是我的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();
    
    

2 个答案:

答案 0 :(得分:1)

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

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

请参阅Updated Fiddle

答案 1 :(得分:0)

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

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