Bouton "Sélectionner le contenu" pour les balises de code

Voir le sujet précédent Voir le sujet suivant Aller en bas

  • 0

Astuce Bouton "Sélectionner le contenu" pour les balises de code

Message par Ea le Mer 20 Juil 2011 - 1:24

Bouton "Sélectionner le contenu" pour les balises de code

Ce tutoriel a été mis à jour le 16 mai 2017. Si vous aviez installé ce script avant cette date, il est nécessaire de procéder à une nouvelle installation, avec le contenu à jour.

Cette astuce permet de mettre un lien "Sélectionner le contenu" aux balises de code comme suit :


Pour ce faire, il faut d'abord mettre sur les pages de sujet ( voir gestion des pages javascript ) ce script :

Code:
function selectCode(e) {
    var s = $(e).closest("dl").find(".cont_code,code").get(0), range, selection;
    var a = s, z = s;
    while(a.nodeType == 1 && a.childNodes.length) a=a.firstChild;
    while(z.nodeType == 1 && z.childNodes.length) z=z.lastChild;
    if (!$(a).is('.fixff')) {
        var fix = $('<span class="fixff"/>').insertBefore(a);
    } else {
      a = a.nextSibling;
    }
    if (document.body.createTextRange) {
        range = document.body.createTextRange();
        range.moveToElementText(s);
        range.select();
    } else if (window.getSelection) {
        selection = window.getSelection();
        range = document.createRange();
        range.setStart(a, 0);
        range.setEnd(z, z.nodeValue ? z.nodeValue.length : 0);
        selection.removeAllRanges();
        selection.addRange(range);
    }
};
$(function(){$("dl.codebox:not(.spoiler,.hidecode)  > dd.code, dl.codebox:not(.spoiler,.hidecode)  > dd > code").closest("dl").find('dt').append('<span onClick="selectCode(this)" class="selectCode">Sélectionner</span>')});

Et puis ajouter dans le CSS ( PA > Affichage > Couleurs > Feuille de style ) :

Code:
.selectCode { float:right; text-transform: uppercase; cursor:pointer; }
div.cont_code { clear: right; }


avatar

Ea
Aidactif
Aidactif

Messages : 23478
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum