안녕하세요.
input에 특정 문자를 입력하면 경고창이 뜨는데 이 경고창을 esc로 닫으면 해당 페이지의
모든 text input에 커서가 안들어가고 입력도 안되네요;;;; 크롬에서만 이러고 IE는 안그러는데
이건 무슨 경우인가요;;;;
|
답변 3개 / 댓글 1개
채택된 답변
+20 포인트
블랙캣77
2021-03-22 (월) 19:58:07
해당 만으로는 파악하기가 힘들어 보입니다. 도메인을 올려보시거나 스크립트 에러가 없는지 한번 확인해보세요.
답변에 대한 댓글 1개
kujira
2021-03-22 (월) 20:02:09
2021-03-23 (화) 09:26:29
이런 건 처음 보네요,,,
onkeydown/onkeyup 으로 이벤트 리스너를 변경해보고 테스트를 해보면
alert 창이 계속 뜹니다.
왜냐면 esc 키를 누를 때
다시 key 이벤트가 발생하기 때문이죠.
순서는 keydown -> keypress -> keyup
뭔지 정확히는 모르겠는데
크롬이 이렇게 사용하지 말라고 일부러 prevent 시키는 것 같습니다.
alert 창이 떴을 때도 여전히 key 이벤트를 리슨하고 있으니까요
잘 되나 해보세요.
https://codepen.io/sinbi/pen/GRrRyrg
<input type="text" name="test" onkeypress="characterCheck();">
<script>
function characterCheck(){
alert('aaa'); return false;
}
</script>
답변을 작성하려면 로그인이 필요합니다.
<input type="text" name="test" onkeypress="characterCheck();">
<script>
function characterCheck(){
alert('aaa');
}
</script>
그냥 이렇게만 해서 제가 말한대로 경고창을 esc로 닫으면 input에서 커서가 없어지고
클릭해도 커서가 다시 들어가지도 않고 입력도 안되고 그러네요