Прокрутка списка на iOS после обновления списка не удалась - нужно размыть и снова сосредоточиться - PullRequest
0 голосов
/ 04 февраля 2019

У меня есть таблица с 25 строками.Когда я изменяю страницу для отображения 50 строк, я должен нажать где-нибудь еще на странице, а затем снова нажать на таблицу, прежде чем она будет прокручиваться.

Количество строк не имеет значения, 25> 50, 25> 100, 50> 25, проблема заключается в замене содержимого таблицы.

Это влияет только на iOS Safari.

Я пытался размыть, затем сфокусировать

Эта проблема может быть воспроизведена очень легко - пожалуйста, проверьте эту простую ручку кода, загрузив ее на iPad в Safari, прокрутите список до конца, затем нажмите кнопку «Сделать это снова» и попробуйте вернуться к началу списка..

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

<table id="myTable">
  <tbody></tbody>
</table>
<button id="doItAgain">Do It Again</button>

//method to build a random string
function makeid(length) {
  var text = "";
  var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";

  for (var i = 0; i < length; i++)
    text += possible.charAt(Math.floor(Math.random() * possible.length));

    return text;
  }
  function buildRows(){
    var $rows = [];
    for(var x=0; x<50; x++){
    var $row = $("<tr><td>"+makeid(25)+"</td></tr>");
    $rows.push($row);
  }
  $("#myTable tbody").html($rows);
}

$("#doItAgain").click(buildRows);

buildRows();

https://codepen.io/anon/pen/PVjbam

Таблица должна быть прокручиваться немедленнопосле обновления без каких-либо других шагов.

...