From 8c7896af4c5ddd09826cc7fb113818c15581d8ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=B6ren=20Weber?= Date: Fri, 25 Mar 2022 15:35:19 +0100 Subject: [PATCH] clipboard: removed jquery #224 this was an unsuccessful attempt to fix #224 but as we want to get rid of jQuery in the long run anyways, we keep this change --- static/js/theme.js | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/static/js/theme.js b/static/js/theme.js index f8731289ee..fe4cab38f1 100644 --- a/static/js/theme.js +++ b/static/js/theme.js @@ -95,19 +95,22 @@ function initMermaid() { } function initAnchorClipboard(){ - var clip = new ClipboardJS('.anchor'); - $("h1~h2,h1~h3,h1~h4,h1~h5,h1~h6").append(function(index, html){ - var element = $(this); + document.querySelectorAll( 'h1~h2,h1~h3,h1~h4,h1~h5,h1~h6').forEach( function( element ){ var url = encodeURI(document.location.origin + document.location.pathname); - var link = url + "#"+element[0].id; - var html = " " + $( '' ).addClass("anchor").attr("title", window.T_Copy_link_to_clipboard).attr("data-clipboard-text", link).append("").get(0).outerHTML; - return html; + var link = url + "#"+element.id; + var new_element = document.createElement( 'span' ); + new_element.classList.add( 'anchor' ); + new_element.setAttribute( 'title', window.T_Copy_link_to_clipboard ); + new_element.setAttribute( 'data-clipboard-text', link ); + new_element.innerHTML = ''; + element.append( new_element ); }); $(".anchor").on('mouseleave', function(e) { $(this).attr('aria-label', null).removeClass('tooltipped tooltipped-s tooltipped-w'); }); + var clip = new ClipboardJS('.anchor'); clip.on('success', function(e) { e.clearSelection(); $(e.trigger).attr('aria-label', window.T_Link_copied_to_clipboard).addClass('tooltipped tooltipped-s');