Флажку jQuery Mobile требуется время, чтобы установить/снять флажок на iPhone

У меня возникла проблема с jQuery Mobile на iPhone.

У меня есть список флажков и флажок, чтобы выбрать «Все».

После первых нескольких нажатий на флажок, флажок занимает несколько секунд, чтобы отметить его как отмеченный/снятый.

Флажок не отмечается, если пользователь не ждет несколько секунд или не прокручивает экран.

Кажется, это проблема только с этим конкретным телефоном, поскольку он отлично работает в настольных браузерах и на устройствах Android.

Вот сценарий:

/* 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");
});    

Пожалуйста, дайте мне знать, если кто-то сталкивался с этой конкретной проблемой, или есть какие-либо предложения.

Спасибо


person Vijeth    schedule 20.09.2013    source источник
comment
Столкнулся с той же проблемой на iOS.   -  person AJ.    schedule 27.12.2013
comment
То же самое и на Windows Phone 8   -  person Mithun Sreedharan    schedule 18.03.2014
comment
Похоже, вам нужно убрать свой запрос, чтобы увидеть, что вызывает отставание. Это может быть связано только с тем, что что-то использует ресурсы. Это становится очевидным только на телефонах, поскольку они менее мощные, чем ПК для разработчиков. По моему опыту, проблема заключается в том, что один и тот же фрагмент кода вызывается несколько раз. Таким образом, это может быть сложно идентифицировать, если только они не являются физическим доказательством того, что код запускался несколько раз, например, какой-то HTML-код добавлялся несколько раз. Удалите свой код обратно, соберите его по частям и протестируйте на том устройстве, на котором вы заметили проблемы.   -  person Phill Healey    schedule 22.04.2014
comment
Я пытался использовать другую логику для зацикливания, но проблема все еще сохраняется. Затем я наткнулся на несколько статей, в которых говорится о задержке ответа на страницах JQM с большими списками. Кажется, это актуальная проблема для недорогих телефонов и iPhone со старыми версиями iOS. Об этом можно прочитать здесь ссылка в разделе "Ключевые изменения"   -  person Vijeth    schedule 14.05.2014
comment
Это может быть задержка в 300 миллисекунд на устройствах iOS. Вы можете попробовать подключить jquery под названием fastclick, чтобы устранить задержку. Я сам еще не пробовал --- вы можете проверить эту статью/вопрос --- stackoverflow.com/questions/12238587/   -  person Tasos    schedule 28.05.2014