簡體   English   中英

如果更改數據,防止MaterializeCSS模式關閉

[英]Prevent MaterializeCSS modal close if data was changed

如何使用MaterializeCSS做到這一點?

如果用戶更改了模式中的某些內容並試圖關閉它(通過單擊外部, Esc按鈕或模式上的關閉按鈕),我想確認該操作。

模態構造函數的complete選項僅在模態關閉后運行。

這是我捕獲更改模態數據的用戶的方式:

var form_changed = false;

$('.modal').find('input, textarea, checkbox').on('change', function() {
    form_changed = true;
});

開箱即用似乎不太可能。

看了源代碼之后 ,我想到了這個:

function addCloseHandler($modal, handler) {
    var modal = $modal[0].M_Modal;
    modal._close = modal.close;
    modal.close = function () { handler(function () { modal._close(); }); };
}

用法:

// $('.modal').modal();

addCloseHandler($('.modal'), function (close) {
    form_changed ? confirm('Confirm?') && close() : close();
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM