diff options
Diffstat (limited to 'searx/static/themes/simple/src/js')
| -rw-r--r-- | searx/static/themes/simple/src/js/main/keyboard.js | 19 | ||||
| -rw-r--r-- | searx/static/themes/simple/src/js/main/search.js | 20 |
2 files changed, 14 insertions, 25 deletions
diff --git a/searx/static/themes/simple/src/js/main/keyboard.js b/searx/static/themes/simple/src/js/main/keyboard.js index f29ed86f4..0c52673d9 100644 --- a/searx/static/themes/simple/src/js/main/keyboard.js +++ b/searx/static/themes/simple/src/js/main/keyboard.js @@ -34,7 +34,7 @@ searxng.ready(function () { searxng.on('.result', 'click', function (e) { if (!isElementInDetail(e.target)) { - highlightResult(this)(true); + highlightResult(this)(true, true); let resultElement = getResultElement(e.target); if (isImageResult(resultElement)) { e.preventDefault(); @@ -172,7 +172,7 @@ searxng.ready(function () { } function highlightResult (which) { - return function (noScroll) { + return function (noScroll, keepFocus) { var current = document.querySelector('.result[data-vim-selected]'), effectiveWhich = which; if (current === null) { @@ -233,9 +233,11 @@ searxng.ready(function () { if (next) { current.removeAttribute('data-vim-selected'); next.setAttribute('data-vim-selected', 'true'); - var link = next.querySelector('h3 a') || next.querySelector('a'); - if (link !== null) { - link.focus(); + if (!keepFocus) { + var link = next.querySelector('h3 a') || next.querySelector('a'); + if (link !== null) { + link.focus(); + } } if (!noScroll) { scrollPageToSelected(); @@ -317,7 +319,12 @@ searxng.ready(function () { function searchInputFocus () { window.scrollTo(0, 0); - document.querySelector('#q').focus(); + var q = document.querySelector('#q'); + q.focus(); + if (q.setSelectionRange) { + var len = q.value.length; + q.setSelectionRange(len, len); + } } function openResult (newTab) { diff --git a/searx/static/themes/simple/src/js/main/search.js b/searx/static/themes/simple/src/js/main/search.js index b96cf499d..97c9ea541 100644 --- a/searx/static/themes/simple/src/js/main/search.js +++ b/searx/static/themes/simple/src/js/main/search.js @@ -3,17 +3,10 @@ (function (w, d, searxng) { 'use strict'; - var firstFocus = true, qinput_id = "q", qinput; + var qinput_id = "q", qinput; const isMobile = window.matchMedia("only screen and (max-width: 50em)").matches; - function placeCursorAtEnd (element) { - if (element.setSelectionRange) { - var len = element.value.length; - element.setSelectionRange(len, len); - } - } - function submitIfQuery () { if (qinput.value.length > 0) { var search = document.getElementById('search'); @@ -45,15 +38,6 @@ searxng.ready(function () { qinput = d.getElementById(qinput_id); - function placeCursorAtEndOnce () { - if (firstFocus) { - placeCursorAtEnd(qinput); - firstFocus = false; - } else { - // e.preventDefault(); - } - } - if (qinput !== null) { // clear button createClearButton(qinput); @@ -84,8 +68,6 @@ }, "#" + qinput_id); } - qinput.addEventListener('focus', placeCursorAtEndOnce, false); - if (!isMobile && document.querySelector('.index_endpoint')) { qinput.focus(); } |