about summary refs log tree commit diff
diff options
context:
space:
mode:
authorStefan Schindler <dns2utf8@estada.ch>2019-11-15 02:30:44 +0100
committerStefan Schindler <dns2utf8@estada.ch>2019-11-15 02:30:44 +0100
commit1bbb8168ec5aa2d03e1b49d5a38eda0300c67da4 (patch)
tree47e7df338e6fa8715a3b0bd8d632d379f58116af
parent71cf364c3cf1c6b437be0e9352fa6d3ee8191404 (diff)
downloadrust-1bbb8168ec5aa2d03e1b49d5a38eda0300c67da4.tar.gz
rust-1bbb8168ec5aa2d03e1b49d5a38eda0300c67da4.zip
Prevent jumps when selecting one or many lines
-rw-r--r--src/librustdoc/html/static/main.js5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js
index e992c0b62bf..4db02d58c51 100644
--- a/src/librustdoc/html/static/main.js
+++ b/src/librustdoc/html/static/main.js
@@ -401,16 +401,21 @@ function getSearchElement() {
         var prev_line_id = 0;
 
         var set_fragment = function(name) {
+            var x = window.scrollX,
+                y = window.scrollY;
             if (browserSupportsHistoryApi()) {
                 history.replaceState(null, null, "#" + name);
                 highlightSourceLines();
             } else {
                 location.replace("#" + name);
             }
+            // Prevent jumps when selecting one or many lines
+            window.scrollTo(x, y);
         };
 
         return function(ev) {
             var cur_line_id = parseInt(ev.target.id, 10);
+            ev.preventDefault();
 
             if (ev.shiftKey && prev_line_id) {
                 // Swap selection if needed