diff --git a/src/components/DictionaryView.vue b/src/components/DictionaryView.vue
index 86e2aba8e95fbfb0b69a4ae670d4caf2dcd12f65..5d69cd3aebb3c7bec02d17da9e07f6f3c60afb5c 100644
--- a/src/components/DictionaryView.vue
+++ b/src/components/DictionaryView.vue
@@ -472,23 +472,29 @@ export default {
       },
 
     article_link_click: function(item) {
-      if (this.article && this.article.article_id == item.article_id){
-        this.article_key++
-        this.replace_history()
-        if (!this.$route.hash) {
-          window.scrollTo(0,0)
-        }
+      let event = window.event
+      if (!(event.ctrlKey || event.shiftKey)) {
+        if (this.article && this.article.article_id == item.article_id){
+          this.article_key++
+          this.replace_history()
+          if (!this.$route.hash) {
+            window.scrollTo(0,0)
+          }
 
-      }else{
-        navigate_to_article(this, item.source)
-        if (!this.$route.hash) {
-          window.scrollTo(0,0)
+        }else{
+          navigate_to_article(this, item.source)
+          if (!this.$route.hash) {
+            window.scrollTo(0,0)
+          }
         }
       }
     },
     details_click: function(item) {
-      this.article = item.article
-      this.replace_history()
+      let event = window.event
+      if (!(event.ctrlKey || event.shiftKey)) {
+        this.article = item.article
+        this.replace_history()
+      }
     },
     return_to_results: function() {
       this.article = null