1.0.5 • Published 8 years ago

dom-copy v1.0.5

Weekly downloads
19
License
-
Repository
github
Last release
8 years ago

Copy to Clipboard

Copy any text to clipboard in a browser. Usage:

var copy = require('dom-copy');

document.addEventListener('click', function() {
    try {
        copy('Hello world');
    } catch(e) {
        console.log(e);
    }
});

Features:

  • The smallest possible function to copy to clipboard in a browser
  • No flash.
  • No frameworks.
  • No dependencies, not even npm dependencies.
  • Just 20 lines of code
  • Why? Because even 3Kb gzipped is too much for a simple copy-to-clipboard function.
  • Execute inside a user generated event.
  • Function may throw on error, so wrap in try {} catch() {} block.
  • Inspired by clipboard.js.
  • Use the second parameter to tell where to insert the invisible <input> so that scroll does not move when it is focused.

Tip

Save yourself time and just copy this function straight into your project:

function copy(text, parent) {
    var doc = document;
    parent = parent || doc.body;
    var el = doc.createElement('input');

    // Remove from screen.
    var style = el.style;
    style.position = 'absolute';
    style.width = 1;
    style.height = 1;
    style.opacity = 0.01;
    style.left = -9999;

    // Prevent zooming on iOS
    style.fontSize = '12pt';

    // Exec `copy` command.
    el.value = text;
    parent.appendChild(el);
    el.focus();
    el.setSelectionRange(0, text.length);
    doc.execCommand('copy');
    parent.removeChild(el);
}
1.0.5

8 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago