mirror of
https://github.com/zenorocha/clipboard.js.git
synced 2023-08-10 21:12:48 +03:00
Compare commits
7 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
eb7418b51b | ||
|
|
869c4e3219 | ||
|
|
a4ab305297 | ||
|
|
294e9fcb5d | ||
|
|
79c3361ca4 | ||
|
|
c3fefc1fc0 | ||
|
|
42bd266f0b |
12
.github/issue_template.md
vendored
12
.github/issue_template.md
vendored
@@ -1,3 +1,7 @@
|
|||||||
|
### Minimal example
|
||||||
|
|
||||||
|
> Fork this [JSFiddle](https://jsfiddle.net/zenorocha/5kk0eysw/) and reproduce your issue.
|
||||||
|
|
||||||
### Expected behaviour
|
### Expected behaviour
|
||||||
|
|
||||||
I thought that by going to the page '...' and pressing the button '...' then '...' would happen.
|
I thought that by going to the page '...' and pressing the button '...' then '...' would happen.
|
||||||
@@ -6,14 +10,6 @@ I thought that by going to the page '...' and pressing the button '...' then '..
|
|||||||
|
|
||||||
Instead of '...', what I saw was that '...' happened instead.
|
Instead of '...', what I saw was that '...' happened instead.
|
||||||
|
|
||||||
### Steps to reproduce
|
|
||||||
|
|
||||||
1. Go this JSFiddle, JSBin, CodePen, etc
|
|
||||||
2. Click on '....'
|
|
||||||
3. Scroll down to '....'
|
|
||||||
4. Refresh the page and wait 5 secs
|
|
||||||
5. Finally the error will magically happen (if it is raining)
|
|
||||||
|
|
||||||
### Browsers affected
|
### Browsers affected
|
||||||
|
|
||||||
I tested on all major browsers and only IE 11 does not work.
|
I tested on all major browsers and only IE 11 does not work.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "clipboard",
|
"name": "clipboard",
|
||||||
"version": "1.5.10",
|
"version": "1.5.12",
|
||||||
"description": "Modern copy to clipboard. No Flash. Just 2kb",
|
"description": "Modern copy to clipboard. No Flash. Just 2kb",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"main": "dist/clipboard.js",
|
"main": "dist/clipboard.js",
|
||||||
|
|||||||
12
dist/clipboard.js
vendored
12
dist/clipboard.js
vendored
@@ -1,5 +1,5 @@
|
|||||||
/*!
|
/*!
|
||||||
* clipboard.js v1.5.10
|
* clipboard.js v1.5.12
|
||||||
* https://zenorocha.github.io/clipboard.js
|
* https://zenorocha.github.io/clipboard.js
|
||||||
*
|
*
|
||||||
* Licensed MIT © Zeno Rocha
|
* Licensed MIT © Zeno Rocha
|
||||||
@@ -448,9 +448,10 @@ module.exports = E;
|
|||||||
|
|
||||||
this.removeFake();
|
this.removeFake();
|
||||||
|
|
||||||
this.fakeHandler = document.body.addEventListener('click', function () {
|
this.fakeHandlerCallback = function () {
|
||||||
return _this.removeFake();
|
return _this.removeFake();
|
||||||
});
|
};
|
||||||
|
this.fakeHandler = document.body.addEventListener('click', this.fakeHandlerCallback) || true;
|
||||||
|
|
||||||
this.fakeElem = document.createElement('textarea');
|
this.fakeElem = document.createElement('textarea');
|
||||||
// Prevent zooming on iOS
|
// Prevent zooming on iOS
|
||||||
@@ -460,7 +461,7 @@ module.exports = E;
|
|||||||
this.fakeElem.style.padding = '0';
|
this.fakeElem.style.padding = '0';
|
||||||
this.fakeElem.style.margin = '0';
|
this.fakeElem.style.margin = '0';
|
||||||
// Move element out of screen horizontally
|
// Move element out of screen horizontally
|
||||||
this.fakeElem.style.position = 'fixed';
|
this.fakeElem.style.position = 'absolute';
|
||||||
this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';
|
this.fakeElem.style[isRTL ? 'right' : 'left'] = '-9999px';
|
||||||
// Move element to the same position vertically
|
// Move element to the same position vertically
|
||||||
this.fakeElem.style.top = (window.pageYOffset || document.documentElement.scrollTop) + 'px';
|
this.fakeElem.style.top = (window.pageYOffset || document.documentElement.scrollTop) + 'px';
|
||||||
@@ -475,8 +476,9 @@ module.exports = E;
|
|||||||
|
|
||||||
ClipboardAction.prototype.removeFake = function removeFake() {
|
ClipboardAction.prototype.removeFake = function removeFake() {
|
||||||
if (this.fakeHandler) {
|
if (this.fakeHandler) {
|
||||||
document.body.removeEventListener('click');
|
document.body.removeEventListener('click', this.fakeHandlerCallback);
|
||||||
this.fakeHandler = null;
|
this.fakeHandler = null;
|
||||||
|
this.fakeHandlerCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.fakeElem) {
|
if (this.fakeElem) {
|
||||||
|
|||||||
4
dist/clipboard.min.js
vendored
4
dist/clipboard.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -3,7 +3,7 @@
|
|||||||
Package.describe({
|
Package.describe({
|
||||||
name: "zenorocha:clipboard",
|
name: "zenorocha:clipboard",
|
||||||
summary: "Modern copy to clipboard. No Flash. Just 2kb.",
|
summary: "Modern copy to clipboard. No Flash. Just 2kb.",
|
||||||
version: "1.5.10",
|
version: "1.5.12",
|
||||||
git: "https://github.com/zenorocha/clipboard.js"
|
git: "https://github.com/zenorocha/clipboard.js"
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "clipboard",
|
"name": "clipboard",
|
||||||
"version": "1.5.10",
|
"version": "1.5.12",
|
||||||
"description": "Modern copy to clipboard. No Flash. Just 2kb",
|
"description": "Modern copy to clipboard. No Flash. Just 2kb",
|
||||||
"repository": "zenorocha/clipboard.js",
|
"repository": "zenorocha/clipboard.js",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
|
|||||||
@@ -168,7 +168,7 @@ This library relies on both [Selection](https://developer.mozilla.org/en-US/docs
|
|||||||
|
|
||||||
Although copy/cut operations with [execCommand](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand) aren't supported on Safari yet (including mobile), it gracefully degrades because [Selection](https://developer.mozilla.org/en-US/docs/Web/API/Selection) is supported.
|
Although copy/cut operations with [execCommand](https://developer.mozilla.org/en-US/docs/Web/API/Document/execCommand) aren't supported on Safari yet (including mobile), it gracefully degrades because [Selection](https://developer.mozilla.org/en-US/docs/Web/API/Selection) is supported.
|
||||||
|
|
||||||
That means you can show a tooltip saying `Copied!` when `success` event is called and `Press Ctrl+C to copy` when `error` event is called because the text is already selected.
|
That means you can show a tooltip saying `Copied!` when `success` event is called and `Press Command+C to copy` when `error` event is called because the text is already selected.
|
||||||
|
|
||||||
For a live demonstration, open this [site](http://clipboardjs.com) on Safari.
|
For a live demonstration, open this [site](http://clipboardjs.com) on Safari.
|
||||||
|
|
||||||
|
|||||||
@@ -49,7 +49,8 @@ class ClipboardAction {
|
|||||||
|
|
||||||
this.removeFake();
|
this.removeFake();
|
||||||
|
|
||||||
this.fakeHandler = document.body.addEventListener('click', () => this.removeFake());
|
this.fakeHandlerCallback = () => this.removeFake();
|
||||||
|
this.fakeHandler = document.body.addEventListener('click', this.fakeHandlerCallback) || true;
|
||||||
|
|
||||||
this.fakeElem = document.createElement('textarea');
|
this.fakeElem = document.createElement('textarea');
|
||||||
// Prevent zooming on iOS
|
// Prevent zooming on iOS
|
||||||
@@ -59,7 +60,7 @@ class ClipboardAction {
|
|||||||
this.fakeElem.style.padding = '0';
|
this.fakeElem.style.padding = '0';
|
||||||
this.fakeElem.style.margin = '0';
|
this.fakeElem.style.margin = '0';
|
||||||
// Move element out of screen horizontally
|
// Move element out of screen horizontally
|
||||||
this.fakeElem.style.position = 'fixed';
|
this.fakeElem.style.position = 'absolute';
|
||||||
this.fakeElem.style[ isRTL ? 'right' : 'left' ] = '-9999px';
|
this.fakeElem.style[ isRTL ? 'right' : 'left' ] = '-9999px';
|
||||||
// Move element to the same position vertically
|
// Move element to the same position vertically
|
||||||
this.fakeElem.style.top = (window.pageYOffset || document.documentElement.scrollTop) + 'px';
|
this.fakeElem.style.top = (window.pageYOffset || document.documentElement.scrollTop) + 'px';
|
||||||
@@ -78,8 +79,9 @@ class ClipboardAction {
|
|||||||
*/
|
*/
|
||||||
removeFake() {
|
removeFake() {
|
||||||
if (this.fakeHandler) {
|
if (this.fakeHandler) {
|
||||||
document.body.removeEventListener('click');
|
document.body.removeEventListener('click', this.fakeHandlerCallback);
|
||||||
this.fakeHandler = null;
|
this.fakeHandler = null;
|
||||||
|
this.fakeHandlerCallback = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.fakeElem) {
|
if (this.fakeElem) {
|
||||||
|
|||||||
Reference in New Issue
Block a user