> 웹 프론트엔드 > 프런트엔드 Q&A > 자바스크립트 프로그램은 전화 키 값을 어떻게 얻나요?

자바스크립트 프로그램은 전화 키 값을 어떻게 얻나요?

WBOY
풀어 주다: 2023-05-12 10:53:06
원래의
649명이 탐색했습니다.

사람들의 삶에서 스마트폰이 인기를 끌면서 점점 더 많은 웹사이트와 애플리케이션이 모바일 장치에 적응하기 시작했습니다. 모바일 단말기에서는 사용자의 입력 방식도 기존 컴퓨터의 입력 방식과 다릅니다. 가장 큰 차이점 중 하나는 입력 방법입니다. 웹페이지와 애플리케이션의 경우 모바일 기기에서 어떻게 사용자 입력을 처리하고 올바른 키 값을 얻을 수 있는지가 중요한 문제가 되었습니다.

JavaScript는 프런트 엔드 애플리케이션에서 널리 사용되는 일반적으로 사용되는 프로그래밍 언어입니다. 모바일 HTML5 개발 프로세스에서는 대부분의 사용자 입력을 처리하고 필터링해야 합니다. 따라서 모바일 장치에서 키보드 입력을 얻는 방법을 배우는 것이 중요한 작업이 됩니다.

일반적으로 컴퓨터에서는 이벤트 청취를 통해 사용자 입력 정보를 얻습니다. 모바일 기기에서 사용자의 키보드 입력 정보를 얻으려면 다음과 같은 방법을 사용할 수 있습니다.

  1. KeyboardEvent

데스크톱 브라우저에서는 일반적으로 키보드 문자나 기능 등 키보드 이벤트 모니터링을 통해 사용자의 키 값을 얻을 수 있습니다. 열쇠. 마찬가지로 모바일 장치에서도 비슷한 방식으로 이를 달성할 수 있습니다.

JavaScript에는 누른 키의 값을 반환할 수 있는 "keydown"이라는 이벤트 리스너가 Window 개체에 있습니다. 이 이벤트를 사용하여 모바일 장치에서 사용자의 키 누르기 작업을 모니터링할 수 있습니다.

window.addEventListener('keydown', function(event) {
  console.log(event.key);
});
로그인 후 복사
로그인 후 복사

사용자가 모바일 장치에서 키를 누르면 이 이벤트가 트리거되고 누른 키의 값이 콘솔에 출력됩니다. 이 값은 다양한 논리적 판단 및 데이터 처리에 쉽게 사용될 수 있습니다.

그러나 어떤 경우에는 더 많은 키-값 정보를 얻어야 할 수도 있습니다. 모바일 장치의 키보드 이벤트 개체는 데스크톱 브라우저의 키보드 이벤트 개체와 다릅니다. 모바일 장치에서 키보드 이벤트 개체에는 Alt, Shift 또는 Ctrl 키를 눌렀는지 여부, 기능 키를 눌렀는지 여부 등과 같은 더 많은 속성이 포함되어 있습니다.

따라서 이러한 추가 키 값 정보가 필요한 경우 키보드 이벤트 개체에서 제공하는 다른 속성을 사용할 수 있습니다. 예를 들어, code 속성을 사용하여 키에 해당하는 키 코드를 얻을 수 있습니다:

window.addEventListener('keydown', function(event) {
  console.log(event.code);
});
로그인 후 복사

이 코드를 사용한 후 콘솔의 정보 출력에서 ​​누른 키의 키 코드를 볼 수 있습니다. 이 키코드는 누른 키에 해당하는 가상키 값을 나타내는 숫자입니다. 이 값은 키보드 전체에서 고유하며 사용자의 입력 언어 및 키보드 레이아웃과 무관합니다.

또한 KeyEvent의 다른 속성을 사용하여 다른 키보드 이벤트 정보를 얻을 수도 있습니다. 예를 들어, event.key를 사용하여 키보드 이벤트에 해당하는 문자를 가져올 수 있습니다.

window.addEventListener('keydown', function(event) {
  console.log(event.key);
});
로그인 후 복사
로그인 후 복사

모바일 장치에서 키보드 이벤트 개체는 사용자의 입력 방법과 현재 로케일에 따라 다른 문자를 반환할 수 있습니다. 따라서 올바른 문자를 얻으려면 event.key 속성을 사용하여 가져와야 합니다.

  1. 입력 이벤트

키보드 이벤트를 사용하는 것 외에도 입력 이벤트를 사용하여 모바일 장치에서 사용자 입력을 모니터링할 수도 있습니다. 키보드 이벤트와 달리 입력 이벤트는 필기 및 음성 입력을 포함한 모든 사용자 입력을 모니터링하는 데 사용할 수 있습니다.

var inputElement = document.getElementById('input-element');

inputElement.addEventListener('input', function(event) {
  console.log(event.target.value);
});
로그인 후 복사

이 코드는 입력 이벤트를 사용하여 입력 요소의 입력을 모니터링하고 사용자가 콘솔에 입력한 값을 출력합니다. 이벤트 처리 함수에서는 event.target을 사용하여 입력 상자의 값을 얻기 위해 입력되는 요소 객체를 얻을 수 있습니다.

iOS와 Android에서는 입력 이벤트가 약간 다르다는 점에 유의하는 것이 중요합니다. iOS에서는 입력이 완료될 때까지 입력 이벤트가 발생하지 않습니다. Android에서는 사용자가 입력할 때 입력 이벤트가 트리거될 수 있습니다.

  1. 터치 이벤트

모바일 장치에서 사용자 입력을 얻는 또 다른 방법은 터치 이벤트를 사용하는 것입니다. 터치 이벤트는 모바일 장치의 터치 작업을 모니터링하도록 특별히 설계된 이벤트 유형입니다. 웹 사이트나 애플리케이션이 제스처 입력 및 터치 작업을 지원해야 하는 경우 터치 이벤트를 사용하는 것이 좋은 방법입니다.

JavaScript에서는 touchstart 및 touchend 이벤트를 사용하여 사용자가 손가락으로 입력 장치를 터치할 때 누르기 및 떼기 작업을 수행할 수 있습니다. 사용자가 길게 누르는 것을 감지해야 하는 경우 touchmove 이벤트를 사용하여 사용자 작업을 캡처하고 손가락이 같은 위치에 있는지 확인할 수 있습니다(이는 일반적으로 길게 누르기 작업이 진행 중임을 나타냅니다).

var touchElement = document.getElementById('touch-element');

touchElement.addEventListener('touchstart', function(event) {
  console.log('Touch started');
});

touchElement.addEventListener('touchend', function(event) {
  console.log('Touch ended'); 
});

touchElement.addEventListener('touchmove', function(event) {
  if (event.touches.length == 1) {
    console.log('Long press detected');
  }
});
로그인 후 복사

이 코드에서는 touchstart, touchend 및 touchmove 이벤트를 사용하여 사용자의 손가락 터치 작업을 감지합니다. 사용자가 손가락을 누르거나 떼면 콘솔은 "터치 시작됨" 및 "터치 종료됨"을 출력하고, 사용자가 길게 누르기를 수행하면 콘솔은 "길게 누르기 감지됨"을 출력합니다.

터치 이벤트를 사용하여 키보드 입력 정보를 캡처하는 방법은 상대적으로 적으며 제스처 입력이 필요한 일부 특정 시나리오에만 적합하다는 점에 유의해야 합니다.

요약

지금까지 살펴본 것처럼 모바일 장치에서 키보드 입력 정보를 얻는 방법에는 여러 가지가 있습니다. 키보드 이벤트, 입력 이벤트 및 터치 이벤트를 사용하여 해당 작업을 완료할 수 있습니다.

그러나 모바일 장치에서 키보드 입력 정보를 얻는 방법은 데스크톱보다 복잡하다는 점에 유의해야 합니다. 키보드 이벤트와 터치 이벤트는 모바일 기기와 브라우저 환경에 따라 다르게 동작할 수 있습니다. 따라서 모바일 기기에서 키보드 입력 기능을 구현할 때에는 코드의 호환성, 신뢰성, 사용성을 보장하기 위해 충분한 테스트와 디버깅 작업이 이루어져야 합니다.

또한 키보드 입력 기능을 구현할 때 보안 문제도 고려해야 합니다. JavaScript 스크립트는 마음대로 액세스하고 수정할 수 있으므로 데이터가 변조되거나 도난당하는 것을 방지하기 위해 사용자가 입력한 정보를 주의 깊게 처리해야 합니다. 가장 좋은 방법은 서버 측에서 사용자 입력을 검증하고 필터링하여 웹 사이트와 애플리케이션의 보안과 안정성을 향상시키는 것입니다.

위 내용은 자바스크립트 프로그램은 전화 키 값을 어떻게 얻나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿