diff --git a/docs/src/assets/js/search.js b/docs/src/assets/js/search.js index 14bf8f7c46e..e16458aa236 100644 --- a/docs/src/assets/js/search.js +++ b/docs/src/assets/js/search.js @@ -92,33 +92,36 @@ function displaySearchResults(results) { //----------------------------------------------------------------------------- // listen for input changes -searchInput.addEventListener('keyup', function (e) { - const query = searchInput.value; - - if(query.length) searchClearBtn.removeAttribute('hidden'); - else searchClearBtn.setAttribute('hidden', ''); - - if (query.length > 2) { - fetchSearchResults(query) - .then(displaySearchResults) - .catch(clearSearchResults); +if(searchInput) + searchInput.addEventListener('keyup', function (e) { + const query = searchInput.value; + + if(query.length) searchClearBtn.removeAttribute('hidden'); + else searchClearBtn.setAttribute('hidden', ''); + + if (query.length > 2) { + fetchSearchResults(query) + .then(displaySearchResults) + .catch(clearSearchResults); + + document.addEventListener('click', function(e) { + if(e.target !== resultsElement) clearSearchResults(); + }); + } else { + clearSearchResults(); + } + }); - document.addEventListener('click', function(e) { - if(e.target !== resultsElement) clearSearchResults(); - }); - } else { - clearSearchResults(); - } -}); +if(resultsElement) + resultsElement.addEventListener('keydown', function(e) { + if(e.key === "Escape") { + clearSearchResults(); + } + }, true); -resultsElement.addEventListener('keydown', function(e) { - if(e.key === "Escape") { +if(searchClearBtn) + searchClearBtn.addEventListener('click', function(e) { + searchInput.value = ''; + searchInput.focus(); clearSearchResults(); - } -}, true); - -searchClearBtn.addEventListener('click', function(e) { - searchInput.value = ''; - searchInput.focus(); - clearSearchResults(); -}); + });