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

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

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

댓글 작성

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

로그인하기

게시글 목록

번호 제목
1959
14479
14475
14474
14469
14466
29747
14464
14463
1950
1943
1938
14460
29743
14453
29738
1936
24146
25894
1923
1919
1916
1913
24135
24131
25885
14449
1895
1891
1886
14443
1875
25884
14442
1872
29735
14441
1861
14438
14434
1836
29734
29727
14430
14426
정규표현식 왜 서버는... 3
14425
1828
1813
29725
29719
1808
1804
14423
24120
25866
14420
25863
1784
1777
25859
14419
1775
29717
1768
1759
1744
14416
14414
14413
1737
14412
1718
1714
1704
1700
29714
1699
14411
1696
1686
1677
1672
1671
25853
1660
1654
1650
25851
25850
1647
1588
1586
1580
1567
14408
1553
24109
1551
25849
25848