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

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

· 14년 전 · 895
불과 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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
16046
16039
24343
30035
16035
16033
16031
3896
30030
3892
16029
16026
16024
16020
16016
16013
16010
3889
30027
16009
16008
16007
16005
30025
16001
15998
3886
30022
3883
15995
15992
30020
15991
15989
15980
15977
3878
15976
3871
26248
3868
3861
15972
15970
15967
15964
15954
26245
15953
15952
15948
15947
30016
15944
15943
15942
15940
15938
15935
24342
3855
15933
15930
3850
15928
15925
30013
30012
15922
15921
15918
3843
3842
15915
15912
15911
3840
15904
26244
26243
3835
15902
26239
15898
3828
26230
15897
26227
3826
26219
15893
15886
3807
3800
3796
15885
15881
15879
15877
15864