The contents of my modal go here. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.
+diff --git a/docs/components.html b/docs/components.html index 476ddc1..4698ad6 100644 --- a/docs/components.html +++ b/docs/components.html @@ -1107,7 +1107,7 @@ document
Modals are designed to only fire from links. Set the value of the toggle link's data-modal attribute to a selector that will produce the desired modal.
+ {% highlight html %} -Open modal +Open modal {% endhighlight %} -Modals are designed to only fire from links. Set the value of the toggle links href to the id of a modal.
+DEPRECATED: Alternatively you can specify the selector of the desired modal in the href attribute of the link. This will fail without a warning if a modal is not found.
+ +{% highlight html %} +Open modal + +{% endhighlight %} diff --git a/js/modals.js b/js/modals.js index 21bc112..4e1e89f 100644 --- a/js/modals.js +++ b/js/modals.js @@ -32,8 +32,21 @@ var getModal = function (event) { var modalToggle = findModals(event.target); - if (modalToggle && modalToggle.hash) { - return document.querySelector(modalToggle.hash); + if (modalToggle) { + var modalSelector = modalToggle.getAttribute('data-modal'); + if (modalSelector) { + return document.querySelector(modalSelector); + } + if (modalToggle.hash) { + try { + return document.querySelector(modalToggle.hash); + } + catch (error) { + if (error.name !== 'SyntaxError') { + throw error; + } + } + } } };