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

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

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
15500
26129
29907
29906
15497
15495
15486
29905
29902
29901
29900
29899
29898
15483
3556
15478
15471
15465
29892
15462
15459
15458
3554
3546
15452
15448
15441
15426
15424
3544
3538
15423
15422
15419
15418
26116
15417
15415
15405
15403
15400
15398
3530
15395
15394
15391
3526
15368
15366
15355
29886
15354
15349
29884
15345
node.js 질문~ 3
26103
15342
15339
15335
3521
15330
26102
29883
15327
15326
15310
15300
15299
15298
3518
15292
15290
15289
node.js URL파싱
15286
29882
29880
3513
24328
15281
15280
15277
29876
26096
3504
3496
3487
3481
15275
15274
3475
29872
29870
3468
3466
3463
3455
3452
15268
15267
15266