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) => {
handleTouchEnd(event, siyuanApp);
}, false);
window.addEventListener("keydown", (event) => {
mobileKeydown(siyuanApp, event);
window.addEventListener("keyup", () => {
window.siyuan.ctrlIsPressed = false;
window.siyuan.shiftIsPressed = false;
window.siyuan.altIsPressed = false;
});
// 移动端删除键 https://github.com/siyuan-note/siyuan/issues/9259
window.addEventListener("keydown", (event) => {
mobileKeydown(siyuanApp, event);
if (getSelection().rangeCount > 0) {
const range = getSelection().getRangeAt(0);
const editor = getCurrentEditor();

View File

@ -231,7 +231,8 @@ export const handleTouchMove = (event: TouchEvent) => {
hasClosestByAttribute(target, "data-type", "NodeAttributeView") ||
hasClosestByAttribute(target, "data-type", "NodeMathBlock") ||
hasClosestByAttribute(target, "data-type", "NodeTable") ||
hasTopClosestByClassName(target, "list");
hasTopClosestByClassName(target, "list") ||
hasTopClosestByClassName(target, "protyle-breadcrumb__bar--nowrap");
if (scrollElement) {
if (scrollElement.classList.contains("table")) {
scrollElement = scrollElement.firstElementChild as HTMLElement;
@ -248,7 +249,16 @@ export const handleTouchMove = (event: TouchEvent) => {
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 && (
(xDiff < 0 && scrollElement.scrollLeft > 0) ||
(xDiff > 0 && scrollElement.clientWidth + scrollElement.scrollLeft < scrollElement.scrollWidth)
@ -260,6 +270,7 @@ export const handleTouchMove = (event: TouchEvent) => {
return;
}
}
}
if (isFirstMove) {
sideMaskElement.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);
const ctrlIsPressed = isOnlyMeta(event);
/// #if !MOBILE
const backlinkBreadcrumbItemElement = hasClosestByClassName(event.target, "protyle-breadcrumb__item");
if (backlinkBreadcrumbItemElement) {
const breadcrumbId = backlinkBreadcrumbItemElement.getAttribute("data-id");
/// #if !MOBILE
if (breadcrumbId) {
if (ctrlIsPressed && !event.shiftKey && !event.altKey) {
checkFold(breadcrumbId, (zoomIn) => {
@ -2177,10 +2177,15 @@ export class WYSIWYG {
// 引用标题时的更多加载
getBacklinkHeadingMore(backlinkBreadcrumbItemElement);
}
/// #else
if (breadcrumbId) {
loadBreadcrumb(protyle, backlinkBreadcrumbItemElement);
}
/// #endif
event.stopPropagation();
return;
}
/// #endif
if (!event.shiftKey) {
this.shiftStartElement = undefined;
}