Событие после применения правил CSS для элементов в jQuery / Javascript - PullRequest
3 голосов
/ 20 марта 2012

Есть ли событие после применения правил CSS ко всем элементам в DOM? я знаю, что привязка $(window).load() из jQuery запускается при загрузке всех файлов js и css.

Но не тогда, когда они применяются (существует небольшая задержка в несколько миллисекунд между динамическим применением и включением, например: $('#design').attr('href', 'style.css') // design is an <link href="otherstyles.css">).

Ответы [ 2 ]

3 голосов
/ 20 марта 2012

Согласно здесь , вы можете получить содержимое CSS-файла с помощью AJAX, а затем использовать встроенный полный вызов jQuery, чтобы сообщить, когда загружен CSS.

2 голосов
/ 20 марта 2012

Такого события не существует.

  • Для всех изменений атрибутов вы можете прослушать событие мутации DOMAttrModifed .
  • Другой вариант - отслеживать определенные свойства стиля в периодической функции (интервале),
  • Другой метод заключается в изменении метода jQuery.fn.css для перехвата изменений стиля с помощью API jQuery. Это предполагает, что все соответствующие обновления свойств CSS выполняются с помощью jQuery.

    (function($){
        var $css = $.fn.css;
        $.fn.css = function(a,c) {
            if (c == null) return $css.call(this, a);
    
            return this.each(function() {
                var $this = $(this);
                // Your function logic...
                // ...
                // Call original method
                $css.call($this, a, c);
            });
        };
    })(jQuery);
    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...