Utiliser jQuery et la bibliothèque JS Clipboard pour mettre en œuvre le contenu cliquant sur la page Web pour copier le texte dans le Presse-papiers

jQueryLa bibliothèque n'est pas étrange pour vous, et se réfère au fichier jquery.js référencé dans les pages Web.

C'est la première fois que de nombreux développeurs entendent parler de la bibliothèque ClipboardJS, qui se réfère au fichier clipboard.js référencé par la page Web.

Avant de référencer le fichier clipboard.js, vous devez référencer le fichier jquery.js.


Exemple :

<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/2.0.8/clipboard.min.js"></script>


Le site officiel du clipboard est présenté comme suit :

Il ne devrait pas être difficile de copier du texte dans le Presse-papiers. Il ne nécessite pas des dizaines d'étapes pour être configuré, ni des centaines de Ko pour être chargé. Mais surtout, il ne devrait pas dépendre de Flash ou d'un cadre gonflé.

C'est pour cela que clipboard.js existe.

C'est pourquoi j'ai choisi Clipboard.js.


Alors, dans une application pratique, comment devrait-on écrire le code ?

Par exemple, nous travaillons sur les problèmes suivants :

Cliquez sur l'étiquette dl pour copier la valeur de l'entrée dans le sous-élément de l'étiquette dl. Après la copie réussie, le texte d'invitation copié sera rappelé et le contenu initial sera restauré après 2 secondes.


Code HTML

<ul class="list-down">
    <li class="BDown">
        <dl>
            <a href="#" title="百度网盘" rel="nofollow">
                <dt>百度网盘</dt>
            </a>
        </dl>
        <dl>
            <span>提取密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="dfd3"></dt>
        </dl>
        <dl>
            <span>解压密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="dgh4"></dt>
        </dl>
    </li>
    <li class="FDown">
        <dl>
            <a href="#" title="阿里云盘" rel="nofollow">
                <dt>阿里云盘</dt>
            </a>
        </dl>
        <dl>
            <span>提取密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="df3g"></dt>
        </dl>
        <dl>
            <span>解压密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="g6d4"></dt>
        </dl>
    </li>
    <li class="KDown">
        <dl>
            <a href="#" title="夸克网盘" rel="nofollow">
                <dt>夸克网盘</dt>
            </a>
        </dl>
        <dl>
            <span>提取密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="df6h"></dt>
        </dl>
        <dl>
            <span>解压密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="3g46"></dt>
        </dl>
    </li>
    <li class="FDown">
        <dl>
            <a href="#" title="迅雷云盘" rel="nofollow">
                <dt>迅雷云盘</dt>
            </a>
        </dl>
        <dl>
            <span>提取密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="4h67"></dt>
        </dl>
        <dl>
            <span>解压密码</span>
            <dt><input id="hn_Email" type="text" name="Email" value="3g46"></dt>
        </dl>
    </li>
</ul>


Code js (posé après la référence clipboard.js)

$(document).ready(function() {
  // 初始化ClipboardJS并选择要复制值的元素
  var clipboard = new ClipboardJS('.list-down dl', {
    // 获取要复制的文本
    text: function(trigger) {
      return $(trigger).find('input').val();
    }
  });

  // 处理<dl>元素的点击事件
  $('.list-down dl').on('click', function(e) {
    e.preventDefault(); // 阻止原生事件
    var spanElement = $(this).find('span');
    var originalText = spanElement.text();
    spanElement.text("\"Copié\"");
    setTimeout(function() {
      spanElement.text(originalText); // 还原<span>元素的内容
    }, 2000); // 2秒后还原内容
  });

  // 处理剪贴板成功事件
  clipboard.on('success', function(e) {
    console.log('复制成功!');
    e.clearSelection(); // 清除选中状态
  });

  // 处理剪贴板错误事件
  clipboard.on('error', function(e) {
    console.log('复制失败!');
  });
});


Effets d'affichage frontal

image.png

Enfin, il convient de mentionner que la compatibilité des différents navigateurs de clipboard.js est bonne.

Pas comme ça.0

Liens dans cet article :https://fr.finchui.com/program/81.html

Commentaires des internautes

Je suppose que vous aimez

Produits chauds
Articles chauds
Hot Tags
Étiquettes associées
FinchUI Store Edition

Partager

Copier le lien
Heures de travail : 9 : 00 - 22 : 00
Samedi et dimanche : 14h00 - 22h00
wechat
Ajouter WeChat au service client