zzyjon
20
2019-08-16 14:03:30
2
2126

Jquery alert() 이후 focus() 작동 안되는 문제가 있습니다.


안녕하세요

신입개발자입니다.


다름 아니라 

Jquery focus()와 alert()를 많이 사용하지 않습니까?

Input에 필수 값 입력이 안되어 있을 때 alert()로 경고 메시지를 띄우고 focus()로 해당 Input으로 커서가 이동 되도록 많이 이용하는데 아이폰 계열에서 alert()와  focus() 함수가 제대로 작동하지 않는 증상이 있습니다. 

예시 코드인데 아이폰에서는 alert() 내용이 출력된 후 해당 input으로 이동은 되지만 커서가 생성되지 않고 키보드가 올라오지 않습니다. 안드로이드에서는 정상 작동이 됩니다.

var test = $.trim($('#test').val());
if(test == null || test == ''){
  alert('값을 입력해주세요!');
  $("#test").focus();
  return false;
}


alert()와 focus() 순서도 바꿔봤지만 똑같고

구글에서 찾아본 setTimeout 설정도 해봤지만 해결하지 못했습니다.

다른 사이트를 찾아보니 다 해결하지 않고 작동되지 않는 상태로 놔뒀거나 

alert() 대신 텍스트를 출력하는 방식으로 대체하고 있는 것 같습니다.


혹시 다른 분들은 어떻게 해결 하셨는지 도움을 얻고 싶습니다.


0
  • 답변 2

  • 아스키
    10k
    2019-08-16 14:06:22

    모바일 브라우져로 확인하시는거죠?

    아이폰은 사파리 브라우져 엔진이니...alert보다는 focus가 문제인 것 같은데..

    일단 다른거는 다 제쳐두고..하나씩 확인해보세요. alert 이 제대로 되는 지.. focus가 제대로 되는 지..

    하나씩..원인을 찾으면서 해결할 수 없을 것 같습니다...

  • zzyjon
    20
    2019-08-16 14:12:24

    아스키님 넵, 말씀해주신대로 깨끗한 페이지를 새로 만들어서 테스트도 해봤습니다.

    확실한 것은 alert()를 주석처리하거나 지우면 아이폰에서도 정상적으로 focus()가 작동이 됩니다.

    그리고 브라우저 상관없이 아이폰 계열은 전부 같은 증상이 있는 것 같습니다.


  • 로그인을 하시면 답변을 등록할 수 있습니다.