В настоящее время я борюсь с очень неприятной ошибкой в Safari, и я не уверен, где еще повернуть.
Кажется, что большинствоэлементов (но не все, и я не могу различить отличительный фактор), которые вызовут событие focus
, вызовут переход всех элементов на странице. или анимированные для прыжка на ~2 пикселя вверх и влево. И это происходит только при первом событии фокуса после загрузки страницы.
Немного раздражает видеть ошибку, так как она находится в части входа в систему droplr.com, и я совершенно не смог выделить более простой случай на JSFiddle.
Если у вас есть/создали учетную запись и вошли в систему, нажмите на этот значок редактирования для перехода:
Вы увидите, что в первом фокусе страницы все дрожит. Вот временная шкала, когда на странице есть одно перетаскивание, и я активирую фокус на оскорбительном элементе:
При большем количестве перетаскиваний это просто больше того же самого, но кажется, что максимальное количество отрисовок составляет около 40. И профилировщик не предлагает ничего гнусного. Просто путешествие по внутренностям jQuery.
Если вместо размещения элементов с помощью translate3d
или matix3d
я просто использую top
и left
, эта ошибка исчезнет. . После нескольких часов отладки этого я в полной растерянности.
Надеюсь, кто-то видел нечто подобное, мог бы взглянуть или дать мне совет по отладке следующих шагов.
Большое спасибо!
Обновление:Дэйв Десандро предположил, что это было связано с 3D-ускорением, поэтому я попробовал вместо этого перевести
, и, конечно же, это не вызвало дрожание Я понятия не имею, почему аппаратное ускорение должно запускаться с событием focus
, и только один раз.
Я попытался установить для параметра transformZ значение 0 при загрузке страницы, чтобы ускорить работу оборудования, но и здесь не получилось. Любые дополнительные идеи приветствуются.