summaryrefslogtreecommitdiff
path: root/searx/static/themes/simple/src/js
diff options
context:
space:
mode:
Diffstat (limited to 'searx/static/themes/simple/src/js')
-rw-r--r--searx/static/themes/simple/src/js/main/keyboard.js19
-rw-r--r--searx/static/themes/simple/src/js/main/search.js20
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();
}