diff --git a/src/librustdoc/html/static/main.js b/src/librustdoc/html/static/main.js index bccad6c89dc..8f7cd244c2f 100644 --- a/src/librustdoc/html/static/main.js +++ b/src/librustdoc/html/static/main.js @@ -163,6 +163,20 @@ return String.fromCharCode(c); } + function displayHelp(display, ev) { + if (display === true) { + if (hasClass(help, "hidden")) { + ev.preventDefault(); + removeClass(help, "hidden"); + addClass(document.body, "blur"); + } + } else if (!hasClass(help, "hidden")) { + ev.preventDefault(); + addClass(help, "hidden"); + removeClass(document.body, "blur"); + } + } + function handleShortcut(ev) { if (document.activeElement.tagName === "INPUT") return; @@ -176,9 +190,7 @@ case "Escape": var search = document.getElementById("search"); if (!hasClass(help, "hidden")) { - ev.preventDefault(); - addClass(help, "hidden"); - removeClass(document.body, "blur"); + displayHelp(false, ev); } else if (!hasClass(search, "hidden")) { ev.preventDefault(); addClass(search, "hidden"); @@ -188,6 +200,7 @@ case "s": case "S": + displayHelp(false, ev); ev.preventDefault(); focusSearchBar(); break; @@ -198,10 +211,8 @@ break; case "?": - if (ev.shiftKey && hasClass(help, "hidden")) { - ev.preventDefault(); - removeClass(help, "hidden"); - addClass(document.body, "blur"); + if (ev.shiftKey) { + displayHelp(true, ev); } break; }