diff --git a/core/modules/node/node.preview.js b/core/modules/node/node.preview.js index 39d0fc3..7185e1a 100644 --- a/core/modules/node/node.preview.js +++ b/core/modules/node/node.preview.js @@ -3,20 +3,20 @@ "use strict"; /** - * Disabling all links in node previews to prevent users from leaving the page. + * Disabling all links (except local fragment identifiers such as href="#frag") in node previews to prevent users from leaving the page. */ Drupal.behaviors.nodePreviewDestroyLinks = { attach: function (context) { - var $preview = $(context).find('.node.preview').once('node-preview'); + var $preview = $(context).find('.node').once('node-preview'); if ($preview.length) { - $preview.on('click.preview', 'a', function (e) { + $preview.on('click.preview', 'a:not([href^=#])', function (e) { e.preventDefault(); }); } }, detach: function (context, settings, trigger) { if (trigger === 'unload') { - var $preview = $(context).find('.node.preview').removeOnce('node-preview'); + var $preview = $(context).find('.node').removeOnce('node-preview'); if ($preview.length) { $preview.off('click.preview'); }