Plain content and AJAX supported modal.
npm install rkd-modal
See example HTML and JSFiddle.
Create a link to modal
<a
href="https://cors.io/?http://example.com/"
class="rkd-modal-ajax"
data-rkd-modal-selector="p"
>Open ajax modal</a>
That's it!
data
attributes:
data-rkd-modal-selector
(optional): jQuery selector which content will be loaded from requested URL.
<a href="#" class="rkd-modal-this">This content will be displayed in modal</a>
Create a link to modal
<a href="#" class="rkd-modal" data-rkd-modal-id="modal-content">Open simple content modal</a>
Add modal to source
<!-- Content modal -->
<div class="modal" id="modal-content">
<input class="modal-state" type="checkbox" />
<div class="modal-fade-screen">
<div class="modal-inner">
<div class="modal-close"></div>
<h1>Modal Title</h1>
<p class="modal-intro">Intro text</p>
<p class="modal-content">Body text</p>
</div>
</div>
</div>
data
attributes:
data-rkd-modal-id
(required): custom modal ID. Must be unique.
Possible events:
rkd-modal:before:open
rkd-modal:after:open
rkd-modal:before:close
rkd-modal:after:close
rkd-modal:content:loaded
Events are fired on $(document)
object, so listen like this:
$(document).on('rkd-modal:before:open', function(e, $modal) {
// Do whatever you need
// $modal is jQuery object representing current modal
});
Just create window.rkdModal
global object and set config as you wish.
window.rkdModal = {
escKey: false, // Disable/enable ESC key from closing modal. Default: true
backgroundClickClose: false // Disable/enable background click from closing modal. Default: true
};
It gets validated on every modal open, so you could change these settings whenever you need.
You can override any CSS (SCSS) you need to make it your own.