$(function () { // Add copy icon var $copyIcon = $(''); var $notice = $('
'); $('figure.highlight').prepend($copyIcon); $('figure.highlight').prepend($notice); // copy function function copy (text, ctx) { if (document.queryCommandSupported && document.queryCommandSupported('copy')) { try { document.execCommand('copy'); // Security exception may be thrown by some browsers. $(ctx).prev('.copy-notice') .text(GLOBAL_CONFIG.copy.success) .velocity({ translateX: -30, opacity: 1 }, { loop: 1, duration: 750, easing: 'easeOutQuint' }); } catch (ex) { $(ctx).prev('.copy-notice') .text(GLOBAL_CONFIG.copy.error) .velocity({ translateX: -30, opacity: 1 }, { loop: 1, duration: 750, easing: 'easeOutQuint' }); return false; } } else { $(ctx).prev('.copy-notice').text(GLOBAL_CONFIG.copy.noSupport); } } // click events $('.highlight .fa-clipboard').on('click', function () { var selection = window.getSelection(); var range = document.createRange(); range.selectNodeContents($(this).next('table').find('.code pre')[0]); selection.removeAllRanges(); selection.addRange(range); var text = selection.toString(); copy(text, this); selection.removeAllRanges(); }); });