Quảng cáo

Một phương pháp đơn giản nếu như bạn không muốn sử dụng clipboardjs để copy một đoạn text vào trong clipboard, đó là sử dụng đơn thuần lệnh:

document.execCommand('copy');

Với cách này, bạn chỉ mất 30s để thực hiện việc copy một đoạn text vào trong clipboard mà không cần phải bôi đen (select) đoạn văn bản đó, function sau đây sẽ tự động làm việc:

const copyToClipboard = str => {
  const el = document.createElement('textarea');
  el.value = str;
  el.setAttribute('readonly', '');
  el.style.position = 'absolute';
  el.style.left = '-9999px';
  document.body.appendChild(el);
  el.select();
  document.execCommand('copy');
  document.body.removeChild(el);
};

Chúng ta có 1 hàm copyToClipboard:

  1. Nó sẽ tạo ra một <textarea> được chền vào trang web. Gắn giá trị value của textarea một đoạn string bạn mong muốn được copy vào clipboard.
  2. Sử dụng HTMLInputElement.select() để select đoạn nội dung trong <textarea> vừa tạo ra.
  3. Sử dụng Document.execCommand('copy') để copy đoạn nội dung trong <textarea> vào clipboard.
  4. Sau đó là xoá <textarea> vừa tạo ra trong trang web.

Ngoài ra, chúng ta có thể tìm hiểu thêm về clipboardjs

Copying text to the clipboard shouldn’t be hard. It shouldn’t require dozens of steps to configure or hundreds of KBs to load. But most of all, it shouldn’t depend on Flash or any bloated framework.

That’s why clipboard.js exists.

Cám ơn các bạn đã theo dõi!

Quảng cáo
Bài trướcĐộ tuổi nào nên bắt đầu chống lão hóa?
Bài tiếp theoÁc Mộng Bên Hồ / Lake of Death – tuyệt nhiên đừng có bơi dưới hồ
Tôi là một người mới học lập trình và Tôi mong muốn gửi đến các bạn những bài học lập trình mới nhất, thông dụng. Hãy cùng tôi học các ngôn ngữ nhé!

2 BÌNH LUẬN

BÌNH LUẬN

Vui lòng nhập bình luận của bạn
Vui lòng nhập tên của bạn ở đây

*

code

This site uses Akismet to reduce spam. Learn how your comment data is processed.