これを行うためのより良い方法があると確信していますが、これにより正しい軌道に乗ることができます。
- プラグインを編集して、クロージングのタイプごとにデータ属性値を設定します
- onClose コールバックを使用してデータ属性を取得します
プラグインコード
// bind the close event to any element with the closeClass class
$('.' + s.o.closeClass).bind('click.simplemodal', function (e) {
e.preventDefault();
// set 'closeType' data attr
$('body').data('closetype', 'closeClass');
s.close();
});
// bind the overlay click to the close function, if enabled
if (s.o.modal && s.o.close && s.o.overlayClose) {
s.d.overlay.bind('click.simplemodal', function (e) {
e.preventDefault();
// set 'closeType' data attr
$('body').data('closetype', 'overlayClose');
s.close();
});
}
// bind keydown events
doc.bind('keydown.simplemodal', function (e) {
if (s.o.modal && e.keyCode === 9) { // TAB
s.watchTab(e);
}
else if ((s.o.close && s.o.escClose) && e.keyCode === 27) { // ESC
e.preventDefault();
// set 'closeType' data attr
$('body').data('closetype', 'escClose');
s.close();
}
});
プラグインの初期化
// Load dialog on click
$('#basic-modal .basic').click(function (e) {
$('#basic-modal-content').modal({
overlayClose: true,
onClose: function() {
console.log($('body').data('closetype'));
$.modal.close();
}
});
return false;
});