##テキストの全選択
$('#sample').focus(function(){
$(this).focus();
$(this).select();
});
select()の代わりに、selectionStart,Endを使う。
$('#sample').focus(function(){
$(this).focus();
$(this)[0].selectionStart=0;
$(this)[0].selectionEnd=999;
});
##スクロールが変?
div内部のスクロール要素がガクガクする場合
-webkit-overflow-scrolling:touch;
を入れる。
##フルスクリーン
ホームに置いてフルスクリーン化するときは入れておく。
<meta name=”apple-mobile-web-app-capable” content=”yes”>
ホームに置くとフォーカスの制御ができるようになるっぽい。
iOSのMobile Safari上でのfocus()が妙な件を調べてみた
Aタグがあるとsafariに飛ばされてしまうので、AタグはJavascriptにしてしまわないといけない。
$('a').click(function(){
location.href = $(this).attr('href');
return false;
});
全画面化している画面操作中にホームボタンを押してしまうと戻れない。どうしたらいいんだろうか。
##ユーザエージェント判別
if(_ua.Webkit && _ua.Mobile){
alert('モバイルサファリですよねー');
}
##画面の縦横変更
$(window).bind("load orientationchange",function(){
if(Math.abs(window.orientation) === 90){
//横向き
$('#contents').height(500);
}else{
//縦向き
$('#contents').height(1000);
}
})
##未解決の問題
###画面の描画がおかしいことがある
[↑に出てるよく似た現象の画像](https://discussions.apple.com/servlet/JiveServlet/downloadImage/2-19091724-139989/450-281/safari issue [mountain lion].jpg)
<meta name="viewport" content="width=1000">
とすることで一部改善した。
ホームに登録してフルスクリーン状態にしなければ、画面の一部が白くなる現象は発生しない模様。
###入力制限
Javascriptのキーダウンイベントで数字と矢印だけとかやってたけど、ソフトウェアキーボードから@や(などが入力できる。
###clickイベントがもっさりする。
fastclick.jsを入れるとよいというのを見かけて入れてみたが、タップ位置が入れる前よりもずれてしまう感じ。保留。
##asp.netのとき
###ラベルが普通のテキスト入力エリアに見える。
Web.configにbrowserCapsを追加するそうな。
document.Form1.elements("XXX").valueが動かない?
document.getElementById("XXX").value
document.Form1.elements["XXX"].value
置き換えるならgetElementsByIdが楽そうだけど。どうなんだろこれ。
###ソフトウェアキーボードを数字モードに
<input type="tel">
<input type="text" pattern="[0-9]*">
みたいな設定だと、数字が初期状態で出てくる。
###documentのclickイベントが反応しない。
$('#contents').click(function(e) {
return false;
});
なにか子要素にclickイベントを張っておくとよいらしい。
##selectのonchangeでalertやconfirmを出すと固まる。
##ソフトウェアキーボードでの確定・開くの制御
IEだとenterで次のフィールドへ移るなどやってる部分。