1

iPad のモバイル サファリと iOS UIWebView では、次の動作が見られます。

JavaScript を使用して DOM 要素のコンテンツを置き換えるページがあります。最初のページにはボタンがあり、これを押すとコンテナ要素からすべての要素が削除され、新しい html のセットがコンテナに挿入されます。

問題は、ボタンが押されて html が切り替えられると、タッチ イベントが新しく挿入された html ページに渡されることです。私の場合、1 ページ目のボタンと同じ位置に 2 ページ目のテキスト入力があります。そのため、ボタンが押されると、タッチ イベントが通過し、テキスト入力にフォーカスが置かれ、ソフト キーボードが表示されます。

これが発生する理由、またはこれを防ぐ方法、またはこの問題の回避策について詳しく知っている人はいますか?

以下のリンクを iPad で表示すると、私が話していることがわかります。「クリック」イベントでは発生しないようですが、「touchstart」と「touchstop」の両方で発生します。

http://jsfiddle.net/tcollins/BtmyD/embedded/result/

HTML

<h3>Touch Start</h3>
<div id="container2">
  <button id="theButton2">Press Me</button>
</div>

ジャバスクリプト

$('#theButton2').bind('touchstart', function(){
   var html = '<input type="text">';
   $('#container2').empty().append(html);
});
4

1 に答える 1