diff --git a/css/reveal.scss b/css/reveal.scss index 98edcb20..022793af 100644 --- a/css/reveal.scss +++ b/css/reveal.scss @@ -1444,7 +1444,8 @@ $controlsArrowAngleActive: 36deg; } .reveal [data-preview-image], -.reveal [data-preview-video] { +.reveal [data-preview-video], +.reveal [data-preview-link]:not(a):not([data-preview-link=false]) { cursor: zoom-in; } diff --git a/examples/preview-overlays.html b/examples/preview-overlays.html index a718c5bb..4775b6a4 100644 --- a/examples/preview-overlays.html +++ b/examples/preview-overlays.html @@ -82,8 +82,46 @@
Iframes
+ https://hakim.se | data-preview-link https://hakim.se | data-preview-link +
https://hakim.se | data-preview-link=false +
+
+
Preview link from an image
+ +
+
+ + + + +
+ +

Lightbox

+ +
+
+
Images
+
+ +
+
+ +
+ +
+
Videos
+
+ +
+
+ +
+ +
+
Iframes
+ https://hakim.se
diff --git a/js/controllers/overlay.js b/js/controllers/overlay.js index 3ca72273..81519e63 100644 --- a/js/controllers/overlay.js +++ b/js/controllers/overlay.js @@ -19,7 +19,7 @@ export default class Overlay { // Enable link previews globally if( this.Reveal.getConfig().previewLinks ) { - this.linkPreviewSelector = 'a[href]:not([data-preview-link=false])'; + this.linkPreviewSelector = 'a[href]:not([data-preview-link=false]), [data-preview-link]:not(a):not([data-preview-link=false])'; } // Enable link previews for individual elements else { @@ -284,7 +284,7 @@ export default class Overlay { // Was a link preview clicked? if( linkTarget ) { - let url = linkTarget.getAttribute( 'href' ); + let url = linkTarget.getAttribute( 'href' ) || linkTarget.getAttribute( 'data-preview-link' ); if( url ) { this.showIframePreview( url ); event.preventDefault();