問題は、一部のデバイスで特定のページの読み込みに 30 秒以上かかることです。jQuery 1.9.1、jQuery Mobile 1.3.1、および Phonegap 2.5.0 を使用しています。
チェックボックスの単一のリストとして値を列挙するページがあります。クリックイベントとタップホールドイベントがあります。これは、PC または iPhone 5 でうまく機能します。問題は、わずか 300 エントリで、iPhone 4 では 13 秒、2 年前の LG Optimus V では 33 秒以上かかることです。古いですが、これは非常識です。
そこで、HTML と CSS だけでこれを再現することにしました。ルック アンド フィールはダウンしていますが、偽のボタンを実際に「クリック」してチェックボックスをすばやくオンにすることができません。私が持っているものは正しく見え、3秒以内にどのデバイスにもロードされますが、チェックボックスをクリックしてから変更するには5秒かかります。DIV にはテキストの書式設定の問題があったため、要素のイベントを含むテーブルを使用しましたが、テーブルで販売されていません。
これが私のイベントコードです:
var $tr = $('#listDIV tr');
$tr.on( 'click', function(e) {
$("#exclusionsCheckbox-" + $(this).prop('id') ).click();
e.stopPropagation();
});
$tr.on( 'taphold', function(e) {
shareActivity( $(this).prop('id'), $(this).prop('title') );
e.preventDefault();
e.stopPropagation();
return false;
});
これが私のテーブル行のサンプルです:
<tr id="1" title="Test-1">
<td width="40">
<div class="squaredThree">
<input type="checkbox" data-role="none" id="exclusionsCheckbox-1" checked="">
<label for="exclusionsCheckbox-1" onclick="return false;"></label>
</div>
</td>
<td><h6>Test 1</h6></td>
</tr>
タップホールド イベントは完全に機能しますが、クリックが機能しないか、実際にチェックボックスの値を変更するのに約 5 秒かかります。
何かご意見は?