91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用clipboard.js怎么實現一個復制功能

發布時間:2021-04-12 17:48:56 來源:億速云 閱讀:180 作者:Leah 欄目:web開發

今天就跟大家聊聊有關使用clipboard.js怎么實現一個復制功能,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

第一種

//html部分
<input type="text" id="copyValue" />
<button type="button" data-clipboard-target='#copyValue'>復制</button>
//js部分
var clipboard = new Clipboard('button');
clipboard.on('success',function(e){
 e.clearSelection();
 alert('復制成功');
 });
clipboard.on('error',function(e){
 e.clearSelection();
 alert('復制失敗');
 });

說明:如果我們使用按鈕復制的是另一個元素的內容,則我們可以使用這種方法。此時將按鈕稱為觸發元素,被復制的元素稱為目標元素。此時data-clipboard-target的值為目標元素的選擇器,而data-clipboard-target的屬性被設置在觸發元素上。new Clipboard()為實例化對象,參數可以是HTML元素,元素選擇器。有success和error兩個事件可以供我們監聽,實現自己的邏輯。因為復制完成后,目標元素會處于選中狀態,所以我們需要e.clearSelection()取消目標元素的選中狀態。
優點:復制的內容可以是動態的,目標元素的值發生變化,復制的值也發生變化。

適用場景:復制內容可變,不固定。

第二種

//html部分
<button type="button" data-clipboard-text='復制內容'>復制</button>
//js部分
new Clipboard('button');

說明:data-clipboard-text的值為你要復制的內容。無目標元素,只有觸發元素。

缺點:復制的內容是靜態的,不變的,提前設置好的。

適用場景:復制內容固定不變

對于以上缺點,我們可以優化如下,使之復制的內容也是動態的。

//html部分
 <input type="text" id="copyValue" />
 <button type="button" id="copy">復制</button>
//js
$('#copy').on('click', function () {
 var value = $('#copyValue').val();
 $('#copy').attr('data-clipboard-text', value);
 var clipboard = new Clipboard('#copy');
 clipboard.on('success', function (e) {
 alert('復制成功');
 });
 clipboard.on('error', function (e) {
 alert('復制失敗');
 });
})

接著這里曬出最常用的幾種方式,以供不時之需。

function-target

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>function-target</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <!-- 1. Define some markup -->
  <button class="btn">Copy</button>
  <div>hello</div>

  <!-- 2. Include library -->
  <script src="../dist/clipboard.min.js"></script>

  <!-- 3. Instantiate clipboard -->
  <script>
  var clipboard = new ClipboardJS('.btn', {
    target: function() {
      return document.querySelector('div');
    }
  });

  clipboard.on('success', function(e) {
    //console.log(e);
    alert('復制成功!')
  });

  clipboard.on('error', function(e) {
    console.log(e);
  });
  </script>
</body>
</html>

function-text

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>function-text</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <!-- 1. Define some markup -->
  <button class="btn">Copy</button>

  <!-- 2. Include library -->
  <script src="../dist/clipboard.min.js"></script>

  <!-- 3. Instantiate clipboard -->
  <script>
  var clipboard = new ClipboardJS('.btn', {
    text: function() {
      return 'to be or not to be';
    }
  });

  clipboard.on('success', function(e) {
    console.log(e);
  });

  clipboard.on('error', function(e) {
    console.log(e);
  });
  </script>
</body>
</html>

target-div

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>target-div</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <!-- 1. Define some markup -->
  <span class="copy_content">hello 123</span>
  <button class="btn" data-clipboard-action="copy" data-clipboard-target=".copy_content">Copy</button>

  <!-- 2. Include library -->
  <script src="../dist/clipboard.min.js"></script>

  <!-- 3. Instantiate clipboard -->
  <script>
  var clipboard = new ClipboardJS('.btn');

  clipboard.on('success', function(e) {
    console.log(e);
  });

  clipboard.on('error', function(e) {
    console.log(e);
  });
  </script>
</body>
</html>

target-input

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>target-input</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <!-- 1. Define some markup -->
  <input id="foo" type="text" value="hello">
  <button class="btn" data-clipboard-action="copy" data-clipboard-target="#foo">Copy</button>

  <!-- 2. Include library -->
  <script src="../dist/clipboard.min.js"></script>

  <!-- 3. Instantiate clipboard -->
  <script>
  var clipboard = new ClipboardJS('.btn');

  clipboard.on('success', function(e) {
    console.log(e);
  });

  clipboard.on('error', function(e) {
    console.log(e);
  });
  </script>
</body>
</html>

target-textarea

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>target-textarea</title>
  <meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
  <!-- 1. Define some markup -->
  <textarea id="bar">hello</textarea>
  <button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">Cut</button>

  <!-- 2. Include library -->
  <script src="../dist/clipboard.min.js"></script>

  <!-- 3. Instantiate clipboard -->
  <script>
  var clipboard = new ClipboardJS('.btn');

  clipboard.on('success', function(e) {
    console.log(e);
  });

  clipboard.on('error', function(e) {
    console.log(e);
  });
  </script>
</body>
</html>

看完上述內容,你們對使用clipboard.js怎么實現一個復制功能有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

荣昌县| 灌云县| 象州县| 昌江| 惠水县| 兴城市| 鹿邑县| 桦甸市| 乐山市| 高淳县| 阳原县| 柳江县| 土默特右旗| 临沧市| 青阳县| 沾益县| 平定县| 东明县| 乐至县| 阿克陶县| 虹口区| 山东省| 灌阳县| 涡阳县| 金寨县| 临西县| 东乌珠穆沁旗| 南宁市| 郯城县| 玉龙| 亚东县| 竹山县| 北宁市| 瑞丽市| 萝北县| 兰西县| 弥勒县| 普兰店市| 浦北县| 女性| 开化县|