From a865bc20d281869c1f0ae95323e9eab8b5e49cff Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Tue, 26 Aug 2014 02:18:35 +0530 Subject: [PATCH 1/2] Middle-clicking on search results should not load the link on the same page --- src/librustdoc/html/static/main.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 7b5d1b7be2f63..b12d1e2744005 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -390,13 +390,15 @@ function initSearchNav() { var hoverTimeout, $results = $('.search-results .result'); - $results.on('click', function() { - var dst = $(this).find('a')[0]; - if (window.location.pathname == dst.pathname) { - $('#search').addClass('hidden'); - $('#main').removeClass('hidden'); + $results.on('click', function(e) { + if (e.which == 1) { + var dst = $(this).find('a')[0]; + if (window.location.pathname == dst.pathname) { + $('#search').addClass('hidden'); + $('#main').removeClass('hidden'); + } + document.location.href = dst.href; } - document.location.href = dst.href; }).on('mouseover', function() { var $el = $(this); clearTimeout(hoverTimeout); From 8ca3adcaf2f00f8b5283b27afe985452c4af7c8b Mon Sep 17 00:00:00 2001 From: Manish Goregaokar Date: Tue, 26 Aug 2014 04:11:18 +0530 Subject: [PATCH 2/2] Improved (to be squashed) --- src/librustdoc/html/static/main.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index b12d1e2744005..25ae53b5ec4cc 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -391,14 +391,16 @@ var hoverTimeout, $results = $('.search-results .result'); $results.on('click', function(e) { + var dst = $(this).find('a')[0]; if (e.which == 1) { - var dst = $(this).find('a')[0]; if (window.location.pathname == dst.pathname) { $('#search').addClass('hidden'); $('#main').removeClass('hidden'); } document.location.href = dst.href; - } + } else if (e.which == 2 && e.target.tagName.toLowerCase() != "a"){ + window.open(dst.href); + } }).on('mouseover', function() { var $el = $(this); clearTimeout(hoverTimeout);