diff --git a/example/index.html b/example/index.html
new file mode 100644
index 0000000..2efea0a
--- /dev/null
+++ b/example/index.html
@@ -0,0 +1,68 @@
+
+
+
+
+ Example
+
+
+
+
+
+
+ <span>
+
+
+
+
+
+
+span
+
+
+ <span>
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/package.json b/package.json
index e5ef2a1..cb690dc 100644
--- a/package.json
+++ b/package.json
@@ -25,7 +25,8 @@
"babelify": "^6.3.0",
"browserify": "^11.2.0",
"delegate-events": "^1.1.1",
- "tiny-emitter": "^1.0.0"
+ "tiny-emitter": "^1.0.0",
+ "toggle-selection": "^1.0.4"
},
"devDependencies": {
"karma": "^0.13.10",
diff --git a/src/clipboard-action.js b/src/clipboard-action.js
index c8c1bcd..4c3ea84 100644
--- a/src/clipboard-action.js
+++ b/src/clipboard-action.js
@@ -1,3 +1,5 @@
+import deselectCurrent from 'toggle-selection';
+
/**
* Inner class which performs selection from either `text` or `target`
* properties and then executes copy or cut operations.
@@ -92,6 +94,7 @@ class ClipboardAction {
this.selectedText = this.target.value;
}
else {
+ const reselectPrevious = deselectCurrent();
let range = document.createRange();
let selection = window.getSelection();
@@ -99,6 +102,8 @@ class ClipboardAction {
range.selectNodeContents(this.target);
selection.addRange(range);
this.selectedText = selection.toString();
+
+ reselectPrevious();
}
this.copyText();