diff --git a/A00_Common/main.ts b/A00_Common/main.ts index c1dca79fd..2d94e6e8b 100644 --- a/A00_Common/main.ts +++ b/A00_Common/main.ts @@ -59,6 +59,10 @@ function bootstrap(): void { let shown = ""; let shownHash = ""; const renderAll = (): void => { + document.documentElement.classList.toggle( + "is-bm-route", + NATIVE_MENU_ROUTE.test(currentRoute()), + ); // 전역 글 선택 막음(81-1) const within = showWithinPage(currentRoute()); // B05 ↔ B06 — 보기만 바꿈(24-3a) shown = currentRoute(); shownHash = window.location.hash; diff --git a/ui_template/ui_template_theme.css b/ui_template/ui_template_theme.css index 036d2a651..4685e1666 100644 --- a/ui_template/ui_template_theme.css +++ b/ui_template/ui_template_theme.css @@ -510,3 +510,20 @@ a:hover { outline: 2px solid var(--color-focus-ring); outline-offset: 2px; } + +/* ─── B · M 화면 전역 글 선택 막음(81-1) ─────────────────────────────────── + `html.is-bm-route` 는 main.ts 가 라우트마다 토글(A 영역은 안 붙음). + 허용 = input · textarea · select · [contenteditable] · 원문 본문(m01lab-src__body). */ +html.is-bm-route { + user-select: none; + -webkit-user-select: none; +} +html.is-bm-route input, +html.is-bm-route textarea, +html.is-bm-route select, +html.is-bm-route [contenteditable], +html.is-bm-route .m01lab-src__body, +html.is-bm-route .m01lab-src__body * { + user-select: text; + -webkit-user-select: text; +}