Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из JavaScript?CSS

Разбираемся в CSS
Ответить Пред. темаСлед. тема
Anonymous
 Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из JavaScript?

Сообщение Anonymous »

Прежде всего, прошу прощения за то, что я такой новичок в этой области, потому что, хотя у меня есть некоторый опыт, многие темы JavaScript, jQuery, css мне неизвестны.
Вещь заключается в том, что мне нужно прослушивать изменения стиля, которые инициируются через мой CSS-файл стиля.
Мой пример .html:

Код: Выделить всё

My text
Мой пример .css:

Код: Выделить всё

.test:not(:hover) {
background: #000;
}

.test:hover {
background: #2ca464;
}
И в моем .js я хотел бы послушать изменение цвета фона.
Я использую довольно старую версию jquery: jquery -1.11.1 И я обнаружил, что когда изменения вносятся программно, это работает, но когда они не создаются программно, прослушиватель никогда не вызывается.

Код: Выделить всё

// https://stackoverflow.com/a/43547684/5698125
function listenToAttributeChange(myDollarThis, attributeName, myCallbackFunction) {
const target = myDollarThis[0];
var observer = new MutationObserver(function(mutations) {
myCallbackFunction(myDollarThis);
});

observer.observe(target, {
attributes: true,
attributeFilter: [attributeName] });
}

function listenToAttributeChangeForSelector(mySelector, attributeName, myCallbackFunction) {
$(mySelector).each(function () {
listenToAttributeChange($(this), attributeName, myCallbackFunction);
});
}

// and invoking it like this:
var myListener = function(myDollarThis) {
if (myDollarThis.css("background-color") ...) ...
};

listenToAttributeChangeForSelector(".test", "style", myListener);
Я мог бы проверить, что myHoverFunction вызывается, когда изменение моего элемента выполняется программно, например, когда вызывается этот код:

Код: Выделить всё

    $( ".test" ).each( function() {
$( this ).css("background", "rgb(0, 0, 0)");
});
Но он не вызывается, когда изменение осуществляется через стиль .css.
Кто-нибудь знает, есть ли способ прослушивать изменения стиля, которые выполняются не программно, а относительно моего файла стиля .css?

Подробнее здесь: https://stackoverflow.com/questions/793 ... javascript
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из JavaScript?
    Anonymous » » в форуме Html
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из JavaScript?
    Anonymous » » в форуме Jquery
    0 Ответы
    20 Просмотры
    Последнее сообщение Anonymous
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из Java Script?
    Anonymous » » в форуме Html
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из Java Script?
    Anonymous » » в форуме Jquery
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из Java Script?
    Anonymous » » в форуме CSS
    0 Ответы
    28 Просмотры
    Последнее сообщение Anonymous

Вернуться в «CSS»