JS / jQuery изменяется на attr (), который не отображается только в Safari - PullRequest
0 голосов
/ 17 марта 2020

Я не уверен, в чем проблема, но она возникла на нескольких сайтах в течение нескольких месяцев ... ... при написании некоторого jQuery, который вызывает добавление или изменение атрибута, я заметил, что в инструменты разработчика Safari, изменения просто не отображаются. Если я прыгаю на Chrome или Firefox, я вижу, что они происходят в режиме реального времени. Теперь, когда я знаю, что это проблема, я больше не беспокоюсь о проверке Safari, но мне действительно интересно узнать, в чем причина. Вот пример:

$( document).ready( function(e) {
     $( '#main_menu').attr( 'aria-expanded', false );
     $( '#mobile_open' ).on( 'click', function() {
          $( '#main_menu').attr( 'aria-expanded', true );
     } );
} );

Это действительно базовый c пример, и он работает, но не в Safari. Если я добавлю туда другие действия, такие как .addClass (), .removeClass (),. css () или некоторые сложные функции .animate (), все будет работать, КРОМЕ изменения атрибута.

I ' мы даже прошли через процесс использования только одной функции, например, изменение CSS или добавление и удаление классов, и они работают. Если я затем добавлю изменение attr (), другие вещи будут работать, но не изменение атрибута ... ... если я удалю остальные, изменение атрибута все равно не будет работать. Опять же, это исключительно для Safari.

Это действительно удивительно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...