androidでjqueryプラグインであるfancyboxを使ったときにうなされたことを少々。
モーダルウインドウを出す→なぜか画面をタップすると下にあるテキストボックスなどにフォーカスが当たる(実際に選択はされない。フォーカス時の色がつく)
原因はAndroidブラウザのz-indexのバグらしいのですが、これの解決はこちらやこちらで紹介されています。要は裏の入力フォームをdisabledにしましょうということ。色をつけないという方法もありますが、私はdisabledを使わせていただきました。情報ありがとうございます。
さて、これで無事に訳のわからないフォーカスができなくなったわけですが、それで終わりませんでした。
次はそのモーダルウインドウを閉じると、元画面にあったselectタグが選択できなるという事態、、、
disabledの影響かと思ったのですが、どうやらそれではなさそうで、disabledを外しても選択はされない。
ブラウザをガチャガチャいじっていると発見!閉じた後に少しでもスクロールさせると、なんとselectタグが選択できることがわかりました。
ということで閉じたら1px動かします。onClosedで以下を記述
var pos = $("html, body"),offset(); $("html,body").animate({scrollTop: pos.top -1 ,scrollLeft:pos.left - 1});
しかしまだまだ余談は許しません