在使用layui彈窗時,有時關閉彈窗要進行二次確認,是否要關閉彈窗,但是在右上角關閉按鈕回調默認點擊之后直接關閉彈窗,並不執行回調里的代碼。
而官網給出二次確認代碼,使用的是瀏覽器自帶的提示彈窗,與網站風格不一致,於是在網上查了很多,有網友也提出了這個問題,卻並沒有查到解決辦法。
1 cancel: function(index, layero){ 2 if(confirm('確定要關閉么')){ //只有當點擊confirm框的確定時,該層才會關閉 3 layer.close(index) 4 } 5 return false; 6 }

在項目開發中要使用到該功能,在添加信息過程中點擊cancel關閉按鈕,要提示用戶保存信息,用戶點擊確認保存執行保存事件,點擊取消則關閉彈窗。解決辦法:
cancel:function(index,layero){ if(true){ //條件一直成立,所以會先執行if中代碼 layer.confirm("是否保存信息?", {}, function (index) { //點擊確認執行 var w = $(layero).find("iframe")[0].contentWindow; w.SaveReceive(); //調用子頁面保存方法 layer.close(index) }, function () { // 點擊取消執行 layer.close(index) }) return false; } }
