update at 2026-03-03 21:19:52
This commit is contained in:
13
pxterm/fix_handlers.cjs
Normal file
13
pxterm/fix_handlers.cjs
Normal file
@@ -0,0 +1,13 @@
|
||||
const fs = require('fs');
|
||||
let code = fs.readFileSync('src/components/TerminalPanel.vue', 'utf8');
|
||||
|
||||
// 1. Remove that duplicate touchstart preventDefault logic completely
|
||||
code = code.replace(/\s*\/\/ 必须阻止 touchstart.*\n\s*if \(event\.cancelable.*\n\s*event\.preventDefault\(\);\s*\n\s*\}/g, '');
|
||||
|
||||
// 2. In touchmove, add the preventDefault ONLY IF selection is not active
|
||||
code = code.replace(/(\/\/ Stop xterm from intercepting this manually\s*\n\s*event\.stopImmediatePropagation\(\);)/g, `$1\n\n // 阻止 iOS 原生滚动,确保 move 事件不被吞噬\n if (event.cancelable) { event.preventDefault(); }\n`);
|
||||
|
||||
// 3. Let's remove the duplicated pointer scroll logic since we rely on touchmove for scroll
|
||||
code = code.replace(/\/\/ --- Pointer Scroll Sync ---.*?\/\/ --- Pointer Scroll Sync End ---/gs, '');
|
||||
|
||||
fs.writeFileSync('src/components/TerminalPanel.vue', code);
|
||||
Reference in New Issue
Block a user