clipboard.js の使用法の概要

clipboard.js の使用法の概要

(1)はじめに:

clipboard.js は、テキストをクリップボードにコピーする機能を実装する軽量の JavaScript プラグインです。このプラグインは、入力ボックス、テキストフィールド、DIV要素内のテキストなどのテキストコンテンツをクリップボードにコピーできます。

clipboard.js は、主流のブラウザをサポートしています: Chrome 42+、Firefox 41+、IE 9+、Opera 29+、Safari 10+。

(2)クリップボードの内容をコピーする方法は次のとおりです。

関数を通じてターゲットからターゲット コンテンツをコピーします。コピーされるコンテンツは属性を通じて返されます。
target はターゲット コンテンツをコピーしますが、ここでは説明しません。関数と属性の操作についてのみ説明します。

(3)関数演算には2種類ある。

最初のもの:

ターゲット関数はコンテンツをコピーします。ターゲットはコピーするノードを指定します。ここでは、戻り値は 'hello' です。

   <button class="btn">Copy_target</button>
   <div>こんにちは</div>

   <スクリプト>
   var クリップボード = 新しいクリップボード('.btn', {
   // ターゲットを通じてコピーするノードを指定する target: function() {
                  document.querySelector('div') を返します。
             }
   });

   clipboard.on('成功', 関数(e) {
       コンソールログ(e);
   });

   clipboard.on('エラー', 関数(e) {
       コンソールログ(e);
   });
   </スクリプト>

2番目のタイプ:

テキスト機能を使用してコンテンツをコピーする
テキスト関数によって指定されたコピーコンテンツは、ここでは「to be or not to be」を返します。

<button class="btn">コピー</button>
<スクリプト>
   var クリップボード = 新しいクリップボード('.btn', {
   // コピーボタンをクリックし、コピーした内容をテキストで直接返します text: function() {
           「存在するか、存在しないか」を返します。
       }
   });

   clipboard.on('成功', 関数(e) {
       コンソールログ(e);
   });

   clipboard.on('エラー', 関数(e) {
       コンソールログ(e);
});

(4)コピーしたコンテンツを属性を通じて返す

タイプ 1: 単一ノード

ノード オブジェクトを ID で指定し、それをパラメーターとしてクリップボードに送信します。ここでの戻り値はdata-clipboard-textの内容です

// ID で data-clipboard-text の内容を取得します <div id="btn" data-clipboard-text="1">
        <span>コピー</span>
</div>
 
<スクリプト>
    var btn = document.getElementById('btn');
    var クリップボード = 新しいクリップボード(btn);
 
    clipboard.on('成功', 関数(e) {
        コンソールログ(e);
    });
 
    clipboard.on('エラー', 関数(e) {
        コンソールログ(e);
    });
</スクリプト>

2番目: マルチノード

クラスを通じてすべてのボタンを取得し、パラメーターとしてクリップボードに送信します。各ボタンをクリックすると、対応するデータ クリップボード テキストの内容がそれぞれ 1、2、3 として返されます。

// クラスを通じて複数のボタンを登録し、data-clipboard-text の値を取得します <button class="btn" data-clipboard-text="1">Copy</button>
    <button class="btn" data-clipboard-text="2">コピー</button>
    <button class="btn" data-clipboard-text="3">コピー</button>
 <スクリプト>
    var クリップボード = 新しいクリップボード('.btn');
 
    clipboard.on('成功', 関数(e) {
        コンソールログ(e);
    });
 
    clipboard.on('エラー', 関数(e) {
        コンソールログ(e);
    });
    </スクリプト>

(5)機能と属性の互換性

関数:

//ClipboardJS.isSupported() //--------この文は: 互換性がありますか? var clipboard = new Clipboard('.btn');
// 正常なダウングレード: Safari のバージョン番号が 10 以上の場合、コピーが成功したことを示すプロンプトが表示されます。それ以外の場合は、テキストを選択した後、手動で「コピー」を選択してコピーする必要があることを示すプロンプトが表示されます。clipboard.on('success', function(e) {
    alert('コピー成功!')
    e.clearSelection();
});
clipboard.on('エラー', 関数(e) {
    alert('コピーするには「コピー」を選択してください!')
// 警告を削除しようとすると、システムの「コピー」ツールがポップアップすることがありますが、ポップアップするにはボタンを 2 回クリックする必要があります。具体的な理由は不明です。上の画像を参照してください。 iOS は単純に on イベントをサポートしていないため、トリガーの場所に空のクリック イベント ( οnclick="" ) を書き込んでみることができると言う人もいます}); 

財産:

<画像
   src="../../../../assets/images/zuop_award/copy_link.png"
      @click="コピー"
      データクリップボードアクション="コピー"
      クラス="メール"
      :data-clipboard-text="'[email protected]'"
    /> 

-------------------
  コピー() {
     var クリップボード = 新しいクリップボード(".email")
     // console.log(クリップボード);
     clipboard.on("成功", e => {
       // console.log("コピー成功", e);
       トースト({
         メッセージ: 「コピー成功」
       })
       // メモリを解放する clipboard.destroy()
     })
     clipboard.on("エラー", e => {
       // Toast({のコピーはサポートされていません
         メッセージ: 「携帯電話の権限ではコピー機能はサポートされていません」
       })
       console.log("このブラウザは自動コピーをサポートしていません")
       // メモリを解放する clipboard.destroy()
     })
   }

clipboard.jsの使い方まとめは以上です。clipboard.jsの使い方についてもっと知りたい方は、123WORDPRESS.COMの過去記事を検索するか、以下の関連記事を引き続きご覧ください。今後とも123WORDPRESS.COMをよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Vue は Clipboard.JS を使用して h5 ページのコンテンツ例をコピーします。
  • Vue で clipboard.js を使用してワンクリックでテキストをコピーする例
  • clipboard.js を使用してコピー機能を実装するサンプルコード
  • ZeroClipboard.jsは1つのフラッシュを使用して複数のテキストボックスをコピーします

<<:  CSS の境界線を通して三角形と矢印を実装するサンプルコード

>>:  Tomcat で JNDI データ ソースを構成する 3 つの方法

推薦する

Docker 階層化パッケージを使用して Spring Boot を設定する方法

Spring Boot プロジェクトでは、Docker コンテナ、jar、war の階層化パッケージ...

Win10 での MySQL 8.0.20 のインストールと設定のチュートリアル

Win10 システムでの MySQL 8.0.20 のインストールと設定の超詳細なチュートリアルMy...

InnoDB タイプの MySql によるテーブル構造とデータの復元

前提条件: データベースを復元するために必要な .frm ファイルと .ibd ファイルを保存します...

カルーセル例の JS 実装

この記事では、カルーセルチャートの小さなケースを実装するためのJSの具体的なコードを参考までに共有し...

Node.js でメモリ効率の高いアプリケーションを作成する方法

目次序文問題: 大きなファイルのコピーNodeJS のストリームとバッファバッファストリーム解決策 ...

Vueでのバスの使用に関する詳細な説明

Vue バス メカニズム (バス) vuex を使用するだけでなく、vue 内の親子以外のコンポーネ...

MySql のスロークエリ分析とスロークエリログの開き方の詳細説明

最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使え...

MySQL 5.6.37 (zip) ダウンロード インストール 構成 グラフィック チュートリアル

この記事では、MySQL 5.6.37のダウンロード、インストール、設定のチュートリアルを参考までに...

Hbase 入門

1. HBaseの概要1.1 HBaseとはHBase は、高い信頼性、高いパフォーマンス、列ストレ...

nginx で Vue プロジェクトをデプロイする方法

今日は nginx サーバーを使用するのですが、vue プロジェクトをサーバーにデプロイする必要もあ...

数百万のデータボリュームに対する MySQL ページングクエリ方法とその最適化の提案

データベース SQL の最適化はよくある問題です。何百万ものデータ ボリュームに対してページング ク...

Tomcatを使用して共有ライブラリを設定し、同じjarを共有する

デプロイされるプロジェクトが増えるにつれて、Tomcat にデプロイされるリリース パッケージも増え...

CSS で QR コードスキャンボックスを実装するためのサンプルコード

カメラを開くと通常はスキャンボックスが表示されますが、静的なQRコードではフォーカスを合わせたりスキ...

CocosCreator 入門チュートリアル: TS で初めてのゲームを作る

目次前提TypeScript と JavaScriptコードエディタの選択TypeScriptを学ぶ...

MySQL でインデックスとして B+Tree を使用する利点は何ですか?

目次データベースにインデックスが必要なのはなぜですか?インデックスが B+Tree データ構造を使用...