this.$element.on({
'open.zf.trigger': this.open.bind(this),
- 'close.zf.trigger': (event, element) => {
- if (typeof element === 'undefined') { // only close reveal when it's explicitly called
+ 'close.zf.trigger': (event, $element) => {
+ if ($(event.target).parents('[data-closable]')[0] === $element) { // only close reveal when it's explicitly called
return this.close.apply(this);
}
},
--- /dev/null
+<!doctype html>
+<!--[if IE 9]><html class="lt-ie10" lang="en" > <![endif]-->
+<html class="no-js" lang="en" dir="ltr">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <title>Foundation for Sites Testing</title>
+ <link href="../assets/css/foundation.css" rel="stylesheet" />
+ </head>
+ <body>
+ <div class="row column">
+ <h1>Reveal</h1>
+
+ <section>
+ <h2>Callout inside Reveal</h2>
+ <p>Test if a callout inside a Reveal can be closed without closing the Reveal aswell.</p>
+ <div class="reveal" id="exampleModal1" data-reveal>
+ <h2>Closeable callout in reveal bug</h2>
+ <p>When you close the callout, the reveal is closed too, which shouldn't!</p>
+
+ <div class="callout alert" data-closable>
+ <p>Close me now!</p>
+ <button class="close-button" aria-label="Dismiss alert" type="button" data-close>
+ <span aria-hidden="true">×</span>
+ </button>
+ </div>
+
+ <button class="close-button" data-close aria-label="Close reveal" type="button">
+ <span aria-hidden="true">×</span>
+ </button>
+ </div>
+
+ <p><a data-open="exampleModal1">Click me for a modal</a></p>
+ </section>
+
+ </div>
+
+ <script src="../assets/js/vendor.js"></script>
+ <script src="../assets/js/foundation.js"></script>
+ <script>
+ $(document).foundation();
+ </script>
+ </body>
+</html>