카테고리 없음
<textarea> pageUp & pageDown KeyDown 시 틀어짐 문제 해결 방법
🔧🔨🛠 블로그 이전 준비 중입니다 🔧🔨🛠
2023. 12. 6. 09:28
textarea 자체 버그같은 것임.
몇년은 된 버근데 그냥 안고치는듯.
기본 동작 막고 커스텀 해줘야 함.
vanillaJS 로 쉽게 해결 가능.
document.querySelector('textarea').addEventListener('keydown', event => {
if (event.key === 'PageUp' || event.key === 'PageDown') {
// 1. 기본 동작 하지 않도록 하는 코드
event.preventDefault();
// 2. 커서 포지션 변경
const cursorPosition = event.key === 'PageUp' ? 0 : event.target.textLength;
event.target.setSelectionRange(cursorPosition, cursorPosition);
// 3. 스크롤 이동 로직 추가
const scrollPosition = event.key === KeyboardShortCut.PageUp ? 0 : event.target.scrollHeight;
event.target.scrollTop = scrollPosition;
}
});
## 참고
Prevent PageUp and PageDown press in textarea moving website out of the window · GitHub
Prevent PageUp and PageDown press in textarea moving website out of the window
Prevent PageUp and PageDown press in textarea moving website out of the window - index.js
gist.github.com
890248 - PageUp and PageDown in textarea moves website out of the window - chromium
890248 - chromium - An open-source project to help move the web forward. - Monorail
bugs.chromium.org