Changeset a7e8e19 in Klonkt
- Timestamp:
- 06/19/2026 10:34:24 AM (3 months ago)
- Branches:
- main
- Children:
- 16ce669
- Parents:
- f83ccf3
- Files:
-
- 2 edited
-
CHANGELOG.md (modified) (1 diff)
-
src/views/pages/post-edit.ejs (modified) (7 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG.md
rf83ccf3 ra7e8e19 13 13 14 14 ## [Unreleased] 15 16 ### Opgelost 17 - Posts schrijven op mobiel: een opmaakknop (vet/cursief/…) stal de focus uit het 18 tekstveld → de selectie ging verloren (vet kon niet meer uitgezet worden) en de 19 pagina sprong naar beneden. De toolbar houdt de focus nu in de editor 20 (mousedown-preventDefault + focus zonder scroll), dus toggelen werkt en er is geen 21 sprong meer. Toolbar-taps zijn ook sneller (touch-action: manipulation). 15 22 16 23 ### Toegevoegd -
src/views/pages/post-edit.ejs
rf83ccf3 ra7e8e19 393 393 width: 32px; height: 32px; 394 394 padding: 0; 395 touch-action: manipulation; /* snappy taps op mobiel, geen dubbeltik-zoom */ 396 -webkit-user-select: none; user-select: none; 395 397 background: transparent; 396 398 border: 1px solid transparent; … … 1037 1039 // ── Toolbar wiring 1038 1040 function execCmd(cmd, arg) { 1039 editor.focus( );1041 editor.focus({ preventScroll: true }); 1040 1042 document.execCommand(cmd, false, arg); 1041 1043 updateToolbarState(); … … 1055 1057 sel.removeAllRanges(); 1056 1058 sel.addRange(range); 1057 editor.focus( );1059 editor.focus({ preventScroll: true }); 1058 1060 } 1059 1061 function linkPrompt() { … … 1077 1079 // pak de wrapper uit; anders pas blockquote toe. 1078 1080 function toggleBlockquote() { 1079 editor.focus( );1081 editor.focus({ preventScroll: true }); 1080 1082 const bq = blockquoteAncestor(); 1081 1083 if (bq) { … … 1107 1109 1108 1110 if (toolbar) { 1111 // CRUCIAAL (mobiel + desktop): voorkom dat een toolbar-knop de focus/selectie 1112 // uit het editor-veld steelt. Zonder dit raakt de selectie kwijt bij het tikken 1113 // → execCommand werkt op een lege selectie (vet kan niet meer UIT) én de browser 1114 // scrollt de caret opnieuw in beeld (de "sprong naar beneden"). preventDefault op 1115 // mousedown houdt de focus in de editor; de click blijft gewoon vuren. 1116 toolbar.addEventListener('mousedown', (e) => { 1117 if (e.target.closest('button')) e.preventDefault(); 1118 }); 1109 1119 toolbar.addEventListener('click', (e) => { 1110 1120 const btn = e.target.closest('button[data-cmd]'); … … 1166 1176 const j = await uploadImage(file); 1167 1177 const img = '<img src="' + j.url + '" alt="">'; 1168 editor.focus( );1178 editor.focus({ preventScroll: true }); 1169 1179 document.execCommand('insertHTML', false, img); 1170 1180 contentStatus.textContent = 'Ingevoegd ✓'; … … 1204 1214 // ── Insert chip helpers (track / playlist) 1205 1215 function insertChip(kind, value) { 1206 editor.focus( );1216 editor.focus({ preventScroll: true }); 1207 1217 const chip = makeChip(kind, value); 1208 1218 // Insert at caret using the Selection API (execCommand insertNode)
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)