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

Программирование на jquery
Ответить Пред. темаСлед. тема
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 » » в форуме CSS
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из Java Script?
    Anonymous » » в форуме Html
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из Java Script?
    Anonymous » » в форуме Jquery
    0 Ответы
    34 Просмотры
    Последнее сообщение Anonymous
  • Можно ли прослушать изменение стиля, вызванное файлом стиля .css, из Java Script?
    Anonymous » » в форуме CSS
    0 Ответы
    27 Просмотры
    Последнее сообщение Anonymous

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