Summary of clipboard.js usage

Summary of clipboard.js usage

(1) Introduction:

clipboard.js is a lightweight JavaScript plugin that implements the function of copying text to the clipboard. This plug-in can copy text contents such as input boxes, text fields, and text in DIV elements to the clipboard

clipboard.js supports mainstream browsers: Chrome 42+; Firefox 41+; IE 9+; Opera 29+; Safari 10+;

(2) The ways to copy content on the clipboard are:

Copies the target content from target through function. The content to be copied is returned through the attribute.
target copies the target content, which is not discussed here. Let’s just talk about the operation of function and attributes.

(3) There are two types of Function operations:

The first one:

The target function copies the content. The target specifies the node to be copied. Here, the return value is 'hello'.

   <button class="btn">Copy_target</button>
   <div>hello</div>

   <script>
   var clipboard = new Clipboard('.btn', {
   // Specify the node to be copied through target target: function() {
                  return document.querySelector('div');
             }
   });

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

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

Second type:

Copy content through the text function
The copy content specified by the text function, here returns 'to be or not to be'

<button class="btn">Copy</button>
<script>
   var clipboard = new Clipboard('.btn', {
   // Click the copy button and return the copied content directly through text 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);
});

(4) Return the copied content through attributes

Type 1: Single Node

Specify the node object by id and send it to Clipboard as a parameter. The return value here is the content of data-clipboard-text

// Get the content of data-clipboard-text by id <div id="btn" data-clipboard-text="1">
        <span>Copy</span>
</div>
 
<script>
    var btn = document.getElementById('btn');
    var clipboard = new Clipboard(btn);
 
    clipboard.on('success', function(e) {
        console.log(e);
    });
 
    clipboard.on('error', function(e) {
        console.log(e);
    });
</script>

Second: Multi-node

Get all buttons through class and send them to Clipboard as parameters. When each button is clicked, the return value is the content of its corresponding data-clipboard-text, which are 1, 2, and 3 respectively.

// Register multiple buttons through class and get the value of data-clipboard-text <button class="btn" data-clipboard-text="1">Copy</button>
    <button class="btn" data-clipboard-text="2">Copy</button>
    <button class="btn" data-clipboard-text="3">Copy</button>
 <script>
    var clipboard = new Clipboard('.btn');
 
    clipboard.on('success', function(e) {
        console.log(e);
    });
 
    clipboard.on('error', function(e) {
        console.log(e);
    });
    </script>

(5) Compatibility between functions and attributes

function:

//ClipboardJS.isSupported() //--------This sentence is: Is it compatible? var clipboard = new Clipboard('.btn');
// Graceful downgrade: If Safari version number >= 10, the prompt is that the copy is successful; otherwise, it prompts that you need to manually select "Copy" to copy after selecting the text clipboard.on('success', function(e) {
    alert('Copy successful!')
    e.clearSelection();
});
clipboard.on('error', function(e) {
    alert('Please select "Copy" to copy!')
//Try to remove the alert, the system's "Copy" tool can pop up, but you need to click the button twice to pop up. The specific reason is not clear, refer to the picture above. Some people say that you can try to write an empty click event at the trigger location, οnclick="" because iOS does not simply support on events}); 

property:

<img
   src="../../../../assets/images/zuop_award/copy_link.png"
      @click="copy"
      data-clipboard-action="copy"
      class="email"
      :data-clipboard-text="'[email protected]'"
    /> 

-------------------
  copy() {
     var clipboard = new Clipboard(".email")
     // console.log(clipboard);
     clipboard.on("success", e => {
       // console.log("Copy successful", e);
       Toast({
         message: "Copy successful"
       })
       // Release memory clipboard.destroy()
     })
     clipboard.on("error", e => {
       // Does not support copying Toast({
         message: "Mobile phone permissions do not support the copy function"
       })
       console.log("This browser does not support automatic copy")
       // Release memory clipboard.destroy()
     })
   }

This is the end of this article about the summary of clipboard.js usage. For more relevant clipboard.js usage content, please search 123WORDPRESS.COM’s previous articles or continue to browse the following related articles. I hope everyone will support 123WORDPRESS.COM in the future!

You may also be interested in:
  • Vue uses Clipboard.JS to copy content examples in h5 pages
  • Example of using clipboard.js in vue to copy text with one click
  • Example code for implementing the copy function using clipboard.js
  • ZeroClipboard.js uses one flash to copy multiple text boxes

<<:  Example code for implementing triangles and arrows through CSS borders

>>:  Three ways to configure JNDI data source in Tomcat

Recommend

How to add vim implementation code examples in power shell

1. Go to Vim's official website to download t...

How to communicate between WIN10 system and Docker internal container IP

1. After installing the Windows version of Docker...

Summary of Linux user groups and permissions

User Groups In Linux, every user must belong to a...

Some data processing methods that may be commonly used in JS

Table of contents DOM processing Arrays method Su...

HTML table tag tutorial (44): table header tag

<br />In order to clearly distinguish the ta...

A Guide to Optimizing High-Performance Websites

Golden Rules of Performance: Only 10% to 20% of e...

Detailed explanation of the principle of Docker image layering

Base image The base image has two meanings: Does ...

Example code for implementing the wavy water ball effect using CSS

Today I learned a new CSS special effect, the wav...

JavaScript implements random generation of verification code and verification

This article shares the specific code of JavaScri...

JavaScript Basics: Error Capture Mechanism

Table of contents Preface Error Object throw try…...

How to click on the a tag to pop up the input file upload dialog box

html Copy code The code is as follows: <SPAN cl...

Tips for viewing text in Linux (super practical!)

Preface In daily development, we often need to pe...