2016-03-15 76 views
2

我使用Alertify js 1.6.1在用戶離開頁面時顯示對話框。除了Ok和Cancel,我還需要在alertify js confirm對話框中添加一個額外的按鈕「繼續」。有沒有添加自定義按鈕功能的方法?讓我知道你是否有任何想法。由於在alertify確認對話框中添加自定義按鈕

回答

2

你可以建立自己的或擴展現有的確認:

alertify.dialog('myConfirm', function() { 
    var settings; 
    return { 
    setup: function() { 
     var settings = alertify.confirm().settings; 
     for (var prop in settings) 
     this.settings[prop] = settings[prop]; 
     var setup = alertify.confirm().setup(); 
     setup.buttons.push({ 
     text: '<u>C</u>ontinue', 
     key: 67 /*c*/ , 
     scope: 'auxiliary', 
     }); 
     return setup; 
    }, 
    settings: { 
     oncontinue: null 
    }, 
    callback: function(closeEvent) { 
     if (closeEvent.index == 2) { 
     if (typeof this.get('oncontinue') === 'function') { 
      returnValue = this.get('oncontinue').call(this, closeEvent); 
      if (typeof returnValue !== 'undefined') { 
      closeEvent.cancel = !returnValue; 
      } 
     } 
     } else { 
     alertify.confirm().callback.call(this, closeEvent); 
     } 
    } 
    }; 
}, false, 'confirm'); 

看到example

+0

非常感謝這種反應,其實我早先曾試圖延長確認對話框中alertify js的本身和自定義按鈕顯示正確。然而,我發現的一個問題是:當我點擊繼續,對話框不會關閉,如果我點擊第二次繼續,那麼只有框被關閉。我嘗試了alertify.closeall(),alertify.confirm.close()回調繼續功能,但沒有奏效。 – user596502

+0

我在我提供的示例中看不到這樣的問題! –

+0

是的,這有點奇怪,我試着用你的例子,它完美的作品。但不是警告,我必須在繼續函數的回調中進行一些處理。然後箱子不關閉。 'oncontinue':function(){// alertify.warning('continue'); \t \t location.hash ='#'+'id:'+ someResourceId; //有效但對話框不關閉 \t}, – user596502

相關問題