Подія зміни класу елемента на jquery

Подія зміни класу елемента на jquery

Вітання. Сьогодні розберемося як отримати подія зміни класу елемента на jQuery.

Уявіть собі ситуацію: якийсь сторонній скрипт змінює клас елемента (наприклад, додає class = fixed для header, щоб зробити його фіксованим). При цьому внести зміни в цей сторонній скрипт немає можливості, але дуже потрібно відстежити додавання цього класу елементу, щоб змінити інші елементи (і не придумувати велосепед з алгоритмом «коли цей клас додається»).

Тут і приходить на розум, що не погано було б мати подія (event), який буде викликатися (trigger) тоді, коли клас елемента змінений. На жаль jQuery саме по собі такої події не має, але можна підвісити своє подія.

Як ми це будемо робити? Подія зміни класу елемента на jQuery

Припустимо, що ізененіе класу відбувається на jQuery за допомогою функцій addClass і removeClass, в такому випадку ми просто перевизначити ці функції, і допишемо в них тригер події, до якого потім можна буде нав'язати будь-яка дія (аналогічно іншим подіям на jQuery).

Якщо ж клас змінюється вручну (наприклад через attr ( 'className', 'new class')), то в цьому випадку потрібно буде також вручну відстежувати «змінився клас», наприклад на setInterval, але ми цим займатися не будемо, і припустимо, що всі зміни класу відбуваються по addClass / removeClass.

Готово. Тепер в будь-який момент, коли вам потрібно буде відстежити зміну класу елемента, ви зможете додати таку подію до будь-якого елементу, і виконати функцію, коли клас додається або видаляється.

приклад використання

  • Подія зміни класу елемента на jquery
    Як звернутися до об'єкта-контейнера на PHP
  • Подія зміни класу елемента на jquery
    Як визначити на jquery select текст вибраного елемента
  • Подія зміни класу елемента на jquery
    CSS media-query визначити Windows

Схожі статті