input 태그에 댓글을 입력한 후, 버튼을 클릭했을때 댓글이 잘올라갔다
그래서 엔터를 했을때를 구현해보고자 했다
첫번째로 시도한 방법은
폼 태그를 이용해보았다
하지만 폼태그를 이용하면 엔터를 사용했을때 엔터가 먹혔지만
창이 새로고침 되었다
새로고침이 되는 것을 원치 않았기 때문에
다음 방법을 사용해보았다
스크립트 j쿼리를 이용하여 키보드 입력 이벤트가 발생하였을때 엔터를 인식해서 댓글이 입력되게 해보았다
해당 방법을 사용하니 잘 입력이 되는 것을 확인하였다
하지만 엔터를 사용했을때 연속으로 입력되는 문제가 발생하였다
입력이 두번 되는 문제가 발생하여
엔터 연속입력 방지 코드를 넣어보았다
위 처럼 진위형을 사용하여 ajax가 동작중이라면 입력이 안되게 막아보았다
그랬더니
마지막 한글이 남는것을 확인할 수 있었다
그래서 혹시나 해서 영어를 넣어보았더니 잘 작동하였다
그럼 의심해볼 수 있는게 한글이 키보드 버퍼에 남아있다가 올라온다고 생각할수있었다
그래서 두가지 방법을 생각해볼수 있었다
전에는 ajax가 실행중이라면 바로 리턴을 하여 값을 초기화 하는 부분이 밑에 있어
버퍼에 남아있던 한글이 올라오기 때문에
ajax가 실행중일때 리턴을 하기 전 들어오는 값을 초기화를 시키는 방법이있고
두번째는 안전하게
input태그를 새로 만들어서 넣어서 버퍼에 있는 값이 안들어오게 만들수도 있었다
필자는 후자의 방법을 택했다
'프론트' 카테고리의 다른 글
게임 url로 접근시 qId가 없으면 qId 받아오기 (0) | 2024.01.30 |
---|---|
js 파일로 모듈화 (1) | 2024.01.30 |
JSTL (0) | 2024.01.21 |
버튼 누르면 이미지 변경 (0) | 2024.01.16 |
JQuery - toggle (0) | 2024.01.16 |