fix(android): le clavier se replie une fois l'appui passe
Retenir le focus au mousedown fait atteindre la cible du premier coup, mais laissait le clavier ouvert : apres "Open vault" il restait dresse par-dessus la liste. Les deux moities vont ensemble - on retient le focus le temps de l'appui, on le lache des que l'action est partie. Sauf si le bouton agit sur le champ lui-meme : un oeil qui devoile, une fleche qui deroule. Ceux-la vivent dans la meme rangee que le champ, et replier le clavier apres eux obligerait a le rouvrir pour continuer. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -790,6 +790,26 @@ document.addEventListener('mousedown', function (ev) {
|
||||
if (a && (a.tagName === 'INPUT' || a.tagName === 'TEXTAREA')) ev.preventDefault();
|
||||
}, true);
|
||||
|
||||
// ET ON LE REND UNE FOIS LE CLIC PASSE.
|
||||
//
|
||||
// Garder le focus au mousedown fait atteindre la cible du premier coup, mais
|
||||
// laisse le clavier ouvert : apres "Open vault" il restait dresse par-dessus la
|
||||
// liste. Les deux moities vont ensemble - on retient le focus le temps de
|
||||
// l'appui, on le lache des que l'action est partie.
|
||||
//
|
||||
// SAUF SI LE BOUTON AGIT SUR LE CHAMP LUI-MEME : un oeil qui devoile, une
|
||||
// fleche qui deroule. Ceux-la vivent dans la meme rangee que le champ, et
|
||||
// replier le clavier apres eux obligerait a le rouvrir pour continuer a taper.
|
||||
document.addEventListener('click', function (ev) {
|
||||
var b = ev.target.closest('button');
|
||||
if (!b) return;
|
||||
var a = document.activeElement;
|
||||
if (!a || (a.tagName !== 'INPUT' && a.tagName !== 'TEXTAREA')) return;
|
||||
var row = a.closest('.in-wrap, .field');
|
||||
if (row && row.contains(b)) return;
|
||||
a.blur();
|
||||
});
|
||||
|
||||
function esc(s) {
|
||||
return String(s == null ? '' : s).replace(/[&<>"]/g, function (c) {
|
||||
return { '&': '&', '<': '<', '>': '>', '"': '"' }[c];
|
||||
|
||||
Reference in New Issue
Block a user