UX fix: when the user clicks on the search input, don't move the cursor at the end

Related to https://github.com/searxng/searxng/pull/1153#issuecomment-1154247988
This commit is contained in:
Alexandre Flament 2022-06-13 21:35:14 +02:00
parent 9b0b6a2c90
commit fe1683c9c6
2 changed files with 7 additions and 20 deletions

View file

@ -317,7 +317,12 @@ searxng.ready(function () {
function searchInputFocus () { function searchInputFocus () {
window.scrollTo(0, 0); 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) { function openResult (newTab) {

View file

@ -3,17 +3,10 @@
(function (w, d, searxng) { (function (w, d, searxng) {
'use strict'; '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; 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 () { function submitIfQuery () {
if (qinput.value.length > 0) { if (qinput.value.length > 0) {
var search = document.getElementById('search'); var search = document.getElementById('search');
@ -45,15 +38,6 @@
searxng.ready(function () { searxng.ready(function () {
qinput = d.getElementById(qinput_id); qinput = d.getElementById(qinput_id);
function placeCursorAtEndOnce () {
if (firstFocus) {
placeCursorAtEnd(qinput);
firstFocus = false;
} else {
// e.preventDefault();
}
}
if (qinput !== null) { if (qinput !== null) {
// clear button // clear button
createClearButton(qinput); createClearButton(qinput);
@ -84,8 +68,6 @@
}, "#" + qinput_id); }, "#" + qinput_id);
} }
qinput.addEventListener('focus', placeCursorAtEndOnce, false);
if (!isMobile && document.querySelector('.index_endpoint')) { if (!isMobile && document.querySelector('.index_endpoint')) {
qinput.focus(); qinput.focus();
} }