diff --git a/src/librustdoc/html/layout.rs b/src/librustdoc/html/layout.rs index 718bacc24fd..ac3e8a07d46 100644 --- a/src/librustdoc/html/layout.rs +++ b/src/librustdoc/html/layout.rs @@ -66,7 +66,8 @@ pub fn render( -
{content}
+
{content}
+
diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index 881149b0dd2..bf9e9ac8027 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -39,9 +39,15 @@ if (e.keyCode === 188 && $('#help').hasClass('hidden')) { // question mark e.preventDefault(); $('#help').removeClass('hidden'); - } else if (e.keyCode === 27 && !$('#help').hasClass('hidden')) { // esc - e.preventDefault(); - $('#help').addClass('hidden'); + } else if (e.keyCode === 27) { // esc + if (!$('#help').hasClass('hidden')) { + e.preventDefault(); + $('#help').addClass('hidden'); + } else if (!$('#search').hasClass('hidden')) { + e.preventDefault(); + $('#search').addClass('hidden'); + $('#main').removeClass('hidden'); + } } else if (e.keyCode === 83) { // S e.preventDefault(); $('.search-input').focus(); @@ -202,7 +208,13 @@ var hoverTimeout, $results = $('.search-results .result'); $results.on('click', function () { - document.location.href = $(this).find('a').prop('href'); + var dst = $(this).find('a')[0]; + console.log(window.location.pathname, dst.pathname); + if (window.location.pathname == dst.pathname) { + $('#search').addClass('hidden'); + $('#main').removeClass('hidden'); + } + document.location.href = dst.href; }).on('mouseover', function () { var $el = $(this); clearTimeout(hoverTimeout); @@ -277,7 +289,6 @@ '/index.html" class="' + type + '">' + name + ''; } else if (item.parent !== undefined) { - console.log(item); var myparent = allPaths[item.parent]; var anchor = '#' + type + '.' + name; output += item.path + '::' + myparent.name + @@ -308,7 +319,8 @@ } output += "

"; - $('.content').html(output); + $('#main.content').addClass('hidden'); + $('#search.content').removeClass('hidden').html(output); $('.search-results .desc').width($('.content').width() - 40 - $('.content td:first-child').first().width()); initSearchNav();