我正在使用 phonegap 和 jquery mobile 制作移动应用程序。每次我选择一个菜单元素时,我都会调用一个 WS,它会给我一个答案,我会在屏幕上显示。它完美地工作到那里。
因为我想有一个更好的视图,所以我使用代码触发器('create')。(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 ...});
它显示一切正常,但问题是有时(并非总是如此,这就是问题所在)当我单击复选框时,未显示绿色勾号,但发生了事件更改。当它发生时,我可以通过单击屏幕的其他部分看到我之前单击过的内容,因为它会刷新并显示勾号。
我的结论
- 这不是 AVD,因为我在我的手机中使用 android 4.0 进行了所有测试。
- 当我使用 de trigger 时,它似乎是包含 jquery mobile 的代码。
- 我认为这不是加载时间,因为我可以等待数年并且它可能会发生。
如您所见,这不是“逻辑”问题,而是可用性问题。
提前致谢!