더 많은 단축키를 차단하는 방법에 대한 자세한 내용은 Google에서 직접 검색해 보세요.
여기서 제가 이야기하고 싶은 것은 커스텀 이벤트를 차단하고 실행하는 방법입니다.
사용의 편의를 위해 Kibo를 예로 사용합니다. Google에서 검색한 결과는 일반적으로 기본 JavaScript 구현이므로 여기서는 소개하지 않습니다.
다음은 원래 Enter 이벤트를 차단하고 텍스트 영역에 Enter로 저장하는 예입니다.
코드는 다음과 같습니다.
//키보드 모니터링
varareaKey = new Kibo($("#aac010")[0])
areaKey.down('enter',doSave)
function doSave() {
event.keyCode = 0;
event.returnValue = false;
setTimeout(save, 300);
return false;
}
원래 js 이벤트를 보호하는 것은 일반적으로 keyCode=0, returnValue =false, return false; 위의 save 메소드와 같은 custom 메소드를 어떻게 호출하느냐가 핵심입니다. save 메소드를 직접 작성한다면 save 실행에 일정 시간이 걸리기 때문입니다. , 짧은 시간 내에 false가 반환되지 않으면 enter의 원래 이벤트 트리거가 보호 기능을 할 수 없으므로 여기서는 setTimeout을 사용하여 사용자 정의 메서드를 호출합니다. 원래 이벤트가 트리거되지 않도록 returnun이 제 시간에 반환되도록 하세요.
구체적인 이유가 불분명하시거나 더 좋은 방법이 있으시거나 이유를 아시는 분은 댓글 남겨주시면 감사하겠습니다~~