mirror of
https://github.com/zenorocha/clipboard.js.git
synced 2023-08-10 21:12:48 +03:00
Adds initial clipboard implementation
This commit is contained in:
43
src/clipboard.js
Normal file
43
src/clipboard.js
Normal file
@@ -0,0 +1,43 @@
|
||||
class Clipboard {
|
||||
|
||||
// Constructor
|
||||
|
||||
constructor(triggers) {
|
||||
this._triggers = triggers;
|
||||
this.init();
|
||||
}
|
||||
|
||||
// Getters & Setters
|
||||
|
||||
get triggers() {
|
||||
return document.querySelectorAll(this._triggers);
|
||||
}
|
||||
|
||||
set triggers(val) {
|
||||
return this._triggers = val;
|
||||
}
|
||||
|
||||
// Methods
|
||||
|
||||
init() {
|
||||
[].forEach.call(this.triggers, this.bind);
|
||||
}
|
||||
|
||||
bind(trigger) {
|
||||
trigger.addEventListener('click', e => {
|
||||
var targetSelector = e.currentTarget.getAttribute('for');
|
||||
var target = document.getElementById(targetSelector);
|
||||
|
||||
target.select();
|
||||
|
||||
try {
|
||||
document.execCommand('copy');
|
||||
}
|
||||
catch (err) {
|
||||
console.error(err);
|
||||
}
|
||||
|
||||
e.preventDefault();
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user