kbd>s,' +
' /' +
' ' +
' Search' +
' ' +
'
' +
' Esc' +
' Abort search / Close modal' +
' ' +
' ' +
' ' +
' ⇨,' +
' Enter' +
' ' +
' Open highlighted result' +
' ' +
' ' +
' ' +
' ⇧,' +
' Ctrl+j' +
' ' +
' Select previous result' +
' ' +
' ' +
' ' +
' ⇩,' +
' Ctrl+k' +
' ' +
' Select next result' +
' ' +
' ' +
' ?' +
' Show usage info' +
' ' +
''
);
function handleShortkeys(event) {
var element = event.target || event.srcElement;
if(element.tagName == "INPUT" || element.tagName == "TEXTAREA" || element.parentElement.tagName == "TEXTAREA"){
return;
}
switch(event.key) {
case "?":
usageModal.show();
break;
case "Escape":
usageModal.hide();
break;
case "s":
case "/":
if(usageModal.isVisible()) {
return;
}
event.stopPropagation();
navigator.focus();
performSearch();
break;
}
}
document.addEventListener('keyup', handleShortkeys);
var scrollToEntryFromLocationHash = function() {
var hash = window.location.hash;
if (hash) {
var targetAnchor = decodeURI(hash.substr(1));
var targetEl = document.getElementById(targetAnchor)
if (targetEl) {
targetEl.offsetParent.scrollTop = targetEl.offsetTop;
}
}
};
window.addEventListener("hashchange", scrollToEntryFromLocationHash, false);
scrollToEntryFromLocationHash();
});