mirror of
				https://github.com/searxng/searxng
				synced 2024-01-01 19:24:07 +01:00 
			
		
		
		
	[fix] keyboard.js - highlightResult: don't steal focus on click event
For keyboard navigation the highlightResult() function in keyboard.js steals the focus. On a mouse click event (non keyboard action) the focus should resist where it is, otherwise a marked region gets lost. This is the reason why text can't be selected when using simple theme with JS enabled. Closes: https://github.com/searxng/searxng/issues/794 Signed-off-by: Markus Heiser <markus.heiser@darmarit.de>
This commit is contained in:
		
							parent
							
								
									7bc3d17b11
								
							
						
					
					
						commit
						882282d0e9
					
				
					 1 changed files with 7 additions and 5 deletions
				
			
		|  | @ -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(); | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Markus Heiser
						Markus Heiser