Browse Source

Merge pull request #1322 from return42/fix-794

[fix] keyboard.js - highlightResult: don't steal focus on click event
Paul Braeuning 2 years ago
parent
commit
d7a76f3772

File diff suppressed because it is too large
+ 0 - 0
searx/static/themes/simple/js/searxng.min.js


File diff suppressed because it is too large
+ 0 - 0
searx/static/themes/simple/js/searxng.min.js.map


+ 7 - 5
searx/static/themes/simple/src/js/main/keyboard.js

@@ -34,7 +34,7 @@ searxng.ready(function () {
 
 
   searxng.on('.result', 'click', function (e) {
   searxng.on('.result', 'click', function (e) {
     if (!isElementInDetail(e.target)) {
     if (!isElementInDetail(e.target)) {
-      highlightResult(this)(true);
+      highlightResult(this)(true, true);
       let resultElement = getResultElement(e.target);
       let resultElement = getResultElement(e.target);
       if (isImageResult(resultElement)) {
       if (isImageResult(resultElement)) {
         e.preventDefault();
         e.preventDefault();
@@ -172,7 +172,7 @@ searxng.ready(function () {
   }
   }
 
 
   function highlightResult (which) {
   function highlightResult (which) {
-    return function (noScroll) {
+    return function (noScroll, keepFocus) {
       var current = document.querySelector('.result[data-vim-selected]'),
       var current = document.querySelector('.result[data-vim-selected]'),
         effectiveWhich = which;
         effectiveWhich = which;
       if (current === null) {
       if (current === null) {
@@ -233,9 +233,11 @@ searxng.ready(function () {
       if (next) {
       if (next) {
         current.removeAttribute('data-vim-selected');
         current.removeAttribute('data-vim-selected');
         next.setAttribute('data-vim-selected', 'true');
         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) {
         if (!noScroll) {
           scrollPageToSelected();
           scrollPageToSelected();

Some files were not shown because too many files changed in this diff