私のテストページhttp://finlir.net/paint/kinetic/2height.htmlでは、 touchstart イベントを 2 つの div 要素にバインドしました。Samsung Galaxy Tab 10.1 ストック ブラウザでそのページの要素に触れると、イベントが認識され、デバッグ テキストが出力されます。しかし、iframe を使用してそのページhttp://finlir.net/paint/kinetic/2heightiframe.htmlを表示すると、iframe の下部にある要素を押すと、イベントが発生しません。iframe がこれに影響を与える前に使用されるスペースの量に応じて、iframe の前に使用されるスペースが増えると、iframe の「タッチ可能なスペース」が少なくなるようです。私の iframe-testpage (上記の 2 番目のリンクを参照) では、「add p」ボタンを押すことでテストできます。
この問題の原因は何ですか?iPad、iPhone、Android HTC Desire などで問題はありません。
更新: iframe 内のすべてのものを、オーバーフローを非表示にして div でラップし、その幅と高さをウィンドウ (iframe) サイズに設定しました。次に、いずれかの要素の右側と下部に padding:100000px を追加しました。これでタッチが検出されました。