From ac02106bea8953e1d6a201e8ddae3480bb2d1085 Mon Sep 17 00:00:00 2001 From: DianaXWiki Date: Tue, 17 Jun 2025 13:55:36 +0300 Subject: [PATCH] Fix focus issues #1831 --- www/common/common-ui-elements.js | 2 +- www/form/inner.js | 17 ++++++++++++++++- www/profile/inner.js | 4 ++++ 3 files changed, 21 insertions(+), 2 deletions(-) diff --git a/www/common/common-ui-elements.js b/www/common/common-ui-elements.js index 2813a0db4..120b352f7 100644 --- a/www/common/common-ui-elements.js +++ b/www/common/common-ui-elements.js @@ -1304,7 +1304,7 @@ define([ } } - if (appType !== 'code') { + if (appType !== 'code' && appType !== 'slide') { $(window).on('resize', updateToolbarVisibility); updateToolbarVisibility(); } diff --git a/www/form/inner.js b/www/form/inner.js index caffac8d7..bb194ee88 100644 --- a/www/form/inner.js +++ b/www/form/inner.js @@ -1098,6 +1098,7 @@ define([ editor.setOption("extraKeys", { "Esc": function () { editor.display.input.blur(); + $(cancelBlock).focus(); }, }); editor.setOption('lineNumbers', true); @@ -1115,7 +1116,12 @@ define([ } editor.refresh(); editor.save(); - editor.focus(); + var firstBtn = $(markdownTb.toolbar).find('button').get(0); + if (firstBtn) { + firstBtn.focus(); + } else { + editor.focus(); // fallback + } }); var toggleRow = h('div.cp-markdown-toggle-row'); @@ -5580,6 +5586,7 @@ define([ var editor = APP.responseEditor = cm.editor; editor.setOption("extraKeys", { "Esc": function() { + editor.display.input.blur(); $(preview).focus(); } }); @@ -5613,6 +5620,14 @@ define([ $preview.hide(); editor.refresh(); $tb.show(); + setTimeout(function () { + var firstBtn = $(markdownTb.toolbar).find('button').get(0); + if (firstBtn) { + firstBtn.focus(); + } else { + editor.focus(); // fallback + } + }, 0); }); APP.$e = $e; APP.$p = $p; diff --git a/www/profile/inner.js b/www/profile/inner.js index f35832555..86e863a51 100644 --- a/www/profile/inner.js +++ b/www/profile/inner.js @@ -551,6 +551,10 @@ define([ $(code).show(); APP.editor.refresh(); $(button).hide(); + var firstBtn = $(markdownTb.toolbar).find('button').get(0); + if (firstBtn) { + firstBtn.focus(); + } }); $(save).click(function () { $(save).hide();