phonegapとjquery mobileでモバイルアプリを作っています。メニュー要素の 1 つを選択するたびに、WS を呼び出して、画面に表示する回答を提供します。そこまで完璧に機能します。
見やすくしたいので、コード トリガー (「作成」) を使用します。( http://jquerymobile.com/demos/1.0a4.1/docs/forms/forms-checkboxes.htmlしかし、更新の代わりに作成する必要があります)
var listadohtml = '<div data-role="fieldcontain"><fieldset data-role="controlgroup">';
for (var i=0;i<resultado.length;i++){
var item = '';
var id = resultado[i]['id'];
item += '<input type="checkbox" name="checkbox-'+id+'" id="checkbox-'+id+'" class="custom" />';
item += '<label for="checkbox-'+id+'">'+resultado[i]["title"]+'</label>';
listadohtml += item;
}
listadohtml += '</fieldset></div>';
$('#listaPreguntas').html(listadohtml).trigger('create');
その直後に、イベントを関連付けます。
$("#listaPreguntas input[type='checkbox']").bind( "click", function(event, ui) {... some code ...});
すべてが正常に表示されますが、問題は、チェックボックスをクリックすると、緑色のチェックマークが表示されず、イベントが変更されることがあります (常にではありません)。それが発生した場合、画面の他の部分をクリックすると、以前にクリックしたことがわかります。これは、更新されて目盛りが表示されるためです。
私が持っている結論
- Android 4.0を搭載した携帯電話ですべてのテストを行っているため、AVDではありません。
- de triggerを使用すると、jquery mobileを含むコードのようです。
- 何年も待つことができ、それが起こる可能性があるので、ロード時間ではないと思います。
ご覧のとおり、これは「ロジック」の問題ではなく、ユーザビリティの問題です。
前もって感謝します!