테스트 사이트 - 개발 중인 베타 버전입니다

모바일 OS에서 자바스크립트 select() 구현

· 14년 전 · 896
불과 1년여전만 하더라도 한국에서는 IE만 되고 FF나 사파리등은 깨지는 사이트가 많았습니다.

요즈음은 한국도 거의 모든 사이트에서 FF나 사파리, 크롬등이 다 잘 돌아 갑니다. 애플의 위력이 과연 무섭슴... 모바일 세상이 점점 다가오고...

웹표준을 지킨 대부분의 사이트에서는 IOS나 안드로이드에서 거의 100% 잘 돌아 갑니다.

그런데 안되는 것 하나...

자바스크립트의 textaera select()가 모바일 버젼에서는 실행되지 안습니다.
select()하는 순간 키보드가 뜨기 때문이지요.

이럴때 setTimeout으로 약간의 지연을 주면서 setSelectionRange(0, 9999) 함수를 사용하면 되네요

===============================================
<textarea id="idText">
Hello Apple!
Hello Android!
</textarea>

<script language="javascript" type="text/javascript">
var Mobile="";
var sUsrAgt=navigator.userAgent;

if((/iPhone/i.test(sUsrAgt)) || (/iPod/i.test(sUsrAgt))) Mobile="IP";
else if((/series60/i.test(sUsrAgt)) || (/symbian/i.test(sUsrAgt))) Mobile="SY";
else if(/iPad/i.test(sUsrAgt)) Mobile="IA";
else if(/android/i.test(sUsrAgt)) Mobile="AN";
else if(/windows ce/i.test(sUsrAgt)) Mobile="WM";
else if(/blackberry/i.test(sUsrAgt)) Mobile="BB";
else if(/palm/i.test(sUsrAgt)) Mobile="PM";
else if(/Kindle/i.test(sUsrAgt)) Mobile="KD";

var oTextArea=document.getElementById("idText");

function selectMobile() {
oTextArea.setSelectionRange(0, 9999);
}

function selectAll()
{
if (Mobile) {
oTextArea.focus();
setTimeout("selectMobile()",1234);
}
else {
oTextArea.select();
}
}

selectAll();

</script>
 
 
 
출처 : PHPSCHOOL

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시판 목록

프로그램

글쓰기