Vanessa 2025-03-22 23:42:20 +08:00
parent a12cc136d8
commit c347a0d8d0
3 changed files with 34 additions and 15 deletions

View File

@ -127,11 +127,14 @@ class App {
document.addEventListener("touchend", (event) => { document.addEventListener("touchend", (event) => {
handleTouchEnd(event, siyuanApp); handleTouchEnd(event, siyuanApp);
}, false); }, false);
window.addEventListener("keydown", (event) => { window.addEventListener("keyup", () => {
mobileKeydown(siyuanApp, event); window.siyuan.ctrlIsPressed = false;
window.siyuan.shiftIsPressed = false;
window.siyuan.altIsPressed = false;
}); });
// 移动端删除键 https://github.com/siyuan-note/siyuan/issues/9259 // 移动端删除键 https://github.com/siyuan-note/siyuan/issues/9259
window.addEventListener("keydown", (event) => { window.addEventListener("keydown", (event) => {
mobileKeydown(siyuanApp, event);
if (getSelection().rangeCount > 0) { if (getSelection().rangeCount > 0) {
const range = getSelection().getRangeAt(0); const range = getSelection().getRangeAt(0);
const editor = getCurrentEditor(); const editor = getCurrentEditor();

View File

@ -231,7 +231,8 @@ export const handleTouchMove = (event: TouchEvent) => {
hasClosestByAttribute(target, "data-type", "NodeAttributeView") || hasClosestByAttribute(target, "data-type", "NodeAttributeView") ||
hasClosestByAttribute(target, "data-type", "NodeMathBlock") || hasClosestByAttribute(target, "data-type", "NodeMathBlock") ||
hasClosestByAttribute(target, "data-type", "NodeTable") || hasClosestByAttribute(target, "data-type", "NodeTable") ||
hasTopClosestByClassName(target, "list"); hasTopClosestByClassName(target, "list") ||
hasTopClosestByClassName(target, "protyle-breadcrumb__bar--nowrap");
if (scrollElement) { if (scrollElement) {
if (scrollElement.classList.contains("table")) { if (scrollElement.classList.contains("table")) {
scrollElement = scrollElement.firstElementChild as HTMLElement; scrollElement = scrollElement.firstElementChild as HTMLElement;
@ -248,7 +249,16 @@ export const handleTouchMove = (event: TouchEvent) => {
scrollElement = scrollElement.parentElement; scrollElement = scrollElement.parentElement;
} }
} }
let noScroll = false;
if (scrollElement && scrollElement.scrollLeft === 0) {
scrollElement.scrollLeft = 1;
if (scrollElement.scrollLeft === 0) {
noScroll = true;
} else {
scrollElement.scrollLeft = 0;
}
}
if (!noScroll) {
if (scrollElement && ( if (scrollElement && (
(xDiff < 0 && scrollElement.scrollLeft > 0) || (xDiff < 0 && scrollElement.scrollLeft > 0) ||
(xDiff > 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth) (xDiff > 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth)
@ -260,6 +270,7 @@ export const handleTouchMove = (event: TouchEvent) => {
return; return;
} }
} }
}
if (isFirstMove) { if (isFirstMove) {
sideMaskElement.style.zIndex = (++window.siyuan.zIndex).toString(); sideMaskElement.style.zIndex = (++window.siyuan.zIndex).toString();
document.getElementById("sidebar").style.zIndex = (++window.siyuan.zIndex).toString(); document.getElementById("sidebar").style.zIndex = (++window.siyuan.zIndex).toString();

View File

@ -2156,10 +2156,10 @@ export class WYSIWYG {
}); });
hideElements(["hint", "util"], protyle); hideElements(["hint", "util"], protyle);
const ctrlIsPressed = isOnlyMeta(event); const ctrlIsPressed = isOnlyMeta(event);
/// #if !MOBILE
const backlinkBreadcrumbItemElement = hasClosestByClassName(event.target, "protyle-breadcrumb__item"); const backlinkBreadcrumbItemElement = hasClosestByClassName(event.target, "protyle-breadcrumb__item");
if (backlinkBreadcrumbItemElement) { if (backlinkBreadcrumbItemElement) {
const breadcrumbId = backlinkBreadcrumbItemElement.getAttribute("data-id"); const breadcrumbId = backlinkBreadcrumbItemElement.getAttribute("data-id");
/// #if !MOBILE
if (breadcrumbId) { if (breadcrumbId) {
if (ctrlIsPressed && !event.shiftKey && !event.altKey) { if (ctrlIsPressed && !event.shiftKey && !event.altKey) {
checkFold(breadcrumbId, (zoomIn) => { checkFold(breadcrumbId, (zoomIn) => {
@ -2177,10 +2177,15 @@ export class WYSIWYG {
// 引用标题时的更多加载 // 引用标题时的更多加载
getBacklinkHeadingMore(backlinkBreadcrumbItemElement); getBacklinkHeadingMore(backlinkBreadcrumbItemElement);
} }
/// #else
if (breadcrumbId) {
loadBreadcrumb(protyle, backlinkBreadcrumbItemElement);
}
/// #endif
event.stopPropagation(); event.stopPropagation();
return; return;
} }
/// #endif
if (!event.shiftKey) { if (!event.shiftKey) {
this.shiftStartElement = undefined; this.shiftStartElement = undefined;
} }