mirror of
https://github.com/zenorocha/clipboard.js.git
synced 2023-08-10 21:12:48 +03:00
Adds support for any HTML element
This commit is contained in:
parent
231d62db0e
commit
d682f4a3d4
10
dist/clipboard.js
vendored
10
dist/clipboard.js
vendored
@ -29,13 +29,21 @@ var Clipboard = (function () {
|
||||
key: 'bind',
|
||||
value: function bind(trigger) {
|
||||
trigger.addEventListener('click', function (e) {
|
||||
var value = e.currentTarget.getAttribute('value') || '';
|
||||
var targetSelector = e.currentTarget.getAttribute('for');
|
||||
var target = document.getElementById(targetSelector);
|
||||
|
||||
target.select();
|
||||
if (target.nodeName === 'INPUT' || target.nodeName === 'TEXTAREA') {
|
||||
target.select();
|
||||
} else {
|
||||
var range = document.createRange();
|
||||
range.selectNode(target);
|
||||
window.getSelection().addRange(range);
|
||||
}
|
||||
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
window.getSelection().removeAllRanges();
|
||||
} catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
|
22
index.html
Normal file
22
index.html
Normal file
@ -0,0 +1,22 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Clipboard.js</title>
|
||||
</head>
|
||||
<body>
|
||||
<p id="paragraph">Lorem ipsum dolor.</p>
|
||||
<button class="btn" for="paragraph" type="button">Copy</button>
|
||||
|
||||
<form>
|
||||
<input id="target" type="text" value="qwe">
|
||||
<button class="btn" for="target" type="button">Copy</button>
|
||||
</form>
|
||||
|
||||
<script src="dist/clipboard.js"></script>
|
||||
|
||||
<script>
|
||||
new Clipboard('.btn');
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
@ -28,10 +28,18 @@ class Clipboard {
|
||||
var targetSelector = e.currentTarget.getAttribute('for');
|
||||
var target = document.getElementById(targetSelector);
|
||||
|
||||
target.select();
|
||||
if (target.nodeName === 'INPUT' || target.nodeName === 'TEXTAREA') {
|
||||
target.select();
|
||||
}
|
||||
else {
|
||||
var range = document.createRange();
|
||||
range.selectNode(target);
|
||||
window.getSelection().addRange(range);
|
||||
}
|
||||
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
window.getSelection().removeAllRanges();
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
|
Loading…
Reference in New Issue
Block a user