[英]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.