메뉴 건너뛰기

프로그래밍


엔터를 치면, input 태그로 부터 값을 읽어와서 (작성해 놓은)검색함수의 파라메터로 전달하는 자바스크립트 코드를 작성하였습니다.


$("#searchinput").on("keyup", function(key){    
  if(key.keyCode == 13) {
   let val = $(this).val();
   doSearchSomething(val);
   $(this).val("");
 }
});

보시다시피 검색함수의 호출이 끝나면 input 태그의 값도 초기화합니다.


그런데 MacOS의 크롬에서 오동작을 하네요.

한참을 디버깅 한 결과, keyup이 두 번 호출되는 결과를 만들고 있었습니다.


인터넷을 뒤졌더니 저와 동일한 문제를 겪어서 나름의 방식으로 해결한 기록을 찾았습니다.


- 참고경로: https://min9nim.github.io/2019/06/input-keyup/


해당 경로에 달린 댓글을 보니 "onkeydown 이나 onkeypress"를 사용하면 문제가 발생하지 않는다고도 하네요.

그래서 실험해 보았더니 잘 동작하더군요.


다만, 타이핑 중에 실시간으로 변해야 하는 (즉, A라는 입력 창에 입력하는 문구의 내용을 B라는 입력창이나 다른 곳에 동시에 표시해야 하는)구현에는 "onkeydown 과 onkeypress"는 한 글자 늦게 반영이 되는 터라 "onkeyup"의 사용이 필요했습니다.


키 입력을 하는 행동에 이렇게 세부적으로 나눠진 콜백이 존재하는 이유가 있었네요.

그래도 keyup 의 행동이 os마다 다른 문제는 좀 심각한 것 같습니다 >.<







번호 제목 날짜 조회 수
공지 [TIP] PYTHON 에서 "UnicodeDecodeError: 'cp949' codec can't decode byte 0xe2 in position 6987: illegal multibyte sequence" 오류 날때... [52] 2016.02.20 246890
공지 [펌] ARM GCC Inline Assembler Cookbook 2006.08.18 44847
공지 [TIP] R에서 페이스북 페이지 정보 크롤링 하기 [6] 2017.02.11 26258
» [TIP] MacOS의 크롬에서 keyup 이벤트가 두 번 호출 되는 오류 2023.07.15 537
168 [TIP] C#의 Hashtable을 안전하게 사용하려면 2023.06.10 280
167 [TIP] 윈도우 부팅 완료 후 Process.Start로 cmd.exe 실행 결과를 못 얻을 때 2023.05.29 609
166 [TIP] PYTHON으로 유튜브 채널 영상, 조회수, 설명 크롤링 2021.07.22 5014
165 [TIP] vector<Point2f> 파라메터를 JNI에서 자바로 전달하기 (the way how to pass vector<Point2f> variable to JAVA code layer) 2020.06.27 701
164 [TIP] 외부 (PHP)코드에서 XE에 게시물 등록하기 2020.05.30 3156
163 [TIP] Node.js 에서 현재 기상정보 API 호출하기 2020.02.22 4586
162 [TIP] gcc 빌드중에 /usr/bin/ld: errno: TLS definition in /lib64/libc.so.6 section .tbss mismatches non-TLS reference in ... 와 같은 오류를 만났을 때 2019.11.25 1706
161 [TIP] Windows UWP에서 시리얼 포트가 열리지 않을때 2019.11.08 1620
160 [TIP] 화면 스크롤시 HTML Element가 화면의 중간에 위치하면 감지하기 2019.10.03 4065
159 [TIP] Visual Studio 2019 에서 (배포용)설치파일 만들기 2019.09.30 3976
158 [TIP] Android에서 MS의 Face Rest API사용하기 (How to use the MS Face API on Android) 2019.07.16 855
157 [TIP] Xcode에서 boost 사용하는 방법 2019.06.28 651
156 [TIP] 아두이노에서 두근두근 Open API 호출하기 2019.06.04 3033
155 [TIP] AWS Lambda, API Gateway 를 이용하여 S3에 파일 업로드 하기 2018.06.12 2156
154 [TIP] 파이선에서 AWS Lambda API 호출시 Cognito 사용자 토큰으로 권한 확인하기 2018.06.11 1674
153 [TIP] 파이선에서 AWS Cognito 에 Sign-up, Sign-in 하는 예제 2018.06.08 1802
152 [TIP] Ajax에서 AWS Lambda Rest API CALL 하기 (How to call AWS Lambda API from Ajax) 2018.02.12 1445
151 [TIP] 각종 OAuth 로그인 예제 [6] 2018.01.30 1344
150 [TIP] 파이선에서 AWS Lambda로 만든 Restful API 호출하기 (How to call AWS Lambda Restful API from Python) 2018.01.23 1261
위로