在iPhone上,jQuery Mobile复选框需要时间进行检查/取消检查

在iPhone上,jQuery Mobile复选框需要时间进行检查/取消检查,iphone,ios,jquery-mobile,checkbox,jquery-mobile-checkbox,Iphone,Ios,Jquery Mobile,Checkbox,Jquery Mobile Checkbox,我在iPhone上使用jQuery Mobile时遇到了一个问题 我有一个复选框列表和一个选择“全部”的复选框 在最初点击复选框几下后,复选框需要几秒钟才能标记为选中/未选中 除非用户等待几秒钟或滚动屏幕,否则复选框不会被标记 这似乎只是这款手机的一个问题,因为它在桌面浏览器和安卓设备上运行良好 以下是脚本: /* Check-Uncheck */ self.elements.listview.on('change', ':checkbox', function (event) { var

我在iPhone上使用jQuery Mobile时遇到了一个问题

我有一个复选框列表和一个选择“全部”的复选框

在最初点击复选框几下后,复选框需要几秒钟才能标记为选中/未选中

除非用户等待几秒钟或滚动屏幕,否则复选框不会被标记

这似乎只是这款手机的一个问题,因为它在桌面浏览器和安卓设备上运行良好

以下是脚本:

/* Check-Uncheck */
self.elements.listview.on('change', ':checkbox', function (event) {
  var unchecked = $(':checkbox:not(:checked)', self.elements.listview);
  self.elements.selectAll
  .prop('checked', unchecked.length === 0)
  .checkboxradio("refresh");
});


/* Check-Uncheck 'Select All' */
self.elements.selectAll.change(function () {
  var checkboxes = $(':checkbox', self.elements.listview);
  var checked = self.elements.selectAll.is(':checked');
  checkboxes
  .prop('checked', checked)
  .checkboxradio("refresh");
});    
请告诉我是否有人遇到过这个问题,或者有什么建议


谢谢

在iOS上遇到了同样的问题。在Windows Phone 8上也遇到了同样的问题。听起来您需要删除查询以查看是什么导致了延迟。这只能归结为某些消耗资源的事情。这一点只有在手机上才明显,因为手机的功能不如开发人员的PC。根据我的经验,问题在于同一位代码被多次调用。因此,识别它们可能很困难,除非它们是代码被多次运行的物理证据,例如一些HTML被多次添加。剥去你的代码,一块一块地构建,并在你看到问题的设备上测试。我尝试了不同的循环逻辑,但问题仍然存在。然后我看到了一些文章,它们讨论了JQM页面中具有大列表视图的响应延迟。对于低端手机和iOS较旧版本的iPhone来说,这似乎是一个合理的问题。可以在这里读取abt,在“键更改”下,它可能是ios设备上的300毫秒延迟。您可以尝试使用名为fastclick的jquery插件来消除延迟。我自己还没试过——你可以看看这篇文章/问题---