はじめまして、溝口と申します。
JQueryMobile1.3.0からPOPUPの仕様が追加されて、POPUP以外の場所をクリックしても閉じなくなったので、
さっそく、モーダルダイアログの代わりに使えるか試してみました。(JQueryMobileのダイアログは背景が見えなくなるので・・・)
試したのは、POPUP内のINPUTボックスで本体の文字列を変換させるHTMLです。(ソースは文末に記載しています。)
結果、WIndows IE10 の挙動がおかしいです。iOS+サファリ、Nexsu7+chromは大丈夫そうでした。
1回目のPOPUP表示は問題なく動くのですが、連続で2回目を動かすと下記のようになってしまいます。
1 POPUPを表示させると、ブラウザが最背面に隠れてしまう。(他のウィンドに隠れてしまう。)
2 IMEが飛んでしまい、日本語入力できなくなってしまう。
※1はメトロUIでは発生しません。ディスクトップでIE10を表示させている時に起こります。
2は両方とも発生します。
JQueryMobile1.3.0の仕様(バグ)?でしょうか。IEではサポート外なのでしょうか?
以上、わかる方がいましたら回答お願いいたします。
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>POPUP</title>
<link rel="stylesheet" href="jquery.mobile-1.3.0.css" />
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript" src="jquery.mobile-1.3.0.min.js"></script>
<script type="text/javascript">
function go_popup01(){
var str_text01 = document.getElementById('text01').innerHTML;
document.getElementById('text02').value = str_text01;
$("#popup01").popup("open",{transition:'slidedown'});
}
function popclose01(){
var str_text02 = document.getElementById('text02').value;
document.getElementById('text01').innerHTML= str_text02;
$("#popup01").popup("close");
}
</script>
<body>
<div id="main" data-role="page">
<div data-role="header"><h1>POPUP確認</h1></div>
<div data-role="content">
<p id="text01" >テストテストテスト</p>
<button onclick="go_popup01()" >変更</button>
</div>
<div id="popup01" data-role="popup" data-dismissible="false">
<div data-role="header"><h1>POPUP</h1></div>
<div data-role="content">
<label for="text02" >入力内容</label>
<input type="text" id="text02" name="text02" value="" />
<input type="button" value="変更する。" data-inline="true" onclick="popclose01()" />
</div>
<div data-role="footer">Company xxxxxxxxxx</div>
</div>
</div>
<div data-role="footer">Company xxxxxxxxxx</div>
</body>
</html>