JavaScript에서 스타일 속성 변경을 추적할 수 있습니까?

Barbara Streisand
풀어 주다: 2024-11-10 03:08:02
원래의
166명이 탐색했습니다.

Can You Track Style Attribute Changes in JavaScript?

스타일 속성 변경을 모니터링할 수 있습니까?

jQuery 프레임워크에는 스타일 변경을 위한 특정 이벤트 리스너가 없습니다. 그러나 MutationObserver를 활용하면 '스타일' 속성 수정을 효과적으로 추적할 수 있습니다.

MutationObserver 사용

const target = document.getElementById('myId');
const observer = new MutationObserver((mutations) => {
  mutations.forEach((mutationRecord) => {
    console.log('Style changed!');
  });
});

observer.observe(target, { attributes: true, attributeFilter: ['style'] });
로그인 후 복사

콜백 함수에서 mutationRecord 개체는 이전 스타일 값과 새 스타일 값 모두에 대한 액세스를 제공합니다.

jQuery 재정의를 사용한 임시 솔루션

이전에는 프로토타입.css 메서드를 일시적으로 재정의하는 jQuery 기반 해결 방법이 있었습니다.

(function() {
  var ev = new $.Event('style');
  var orig = $.fn.css;
  $.fn.css = function() {
    $(this).trigger(ev);
    return orig.apply(this, arguments);
  }
})();
로그인 후 복사

MutationObserver에서는 이 접근 방식이 더 이상 필요하지 않습니다. 지원, 스타일 변경을 가로채는 방법을 보여줍니다.

추가 고려 사항

MutationObserver는 IE 11을 포함한 최신 브라우저에서 잘 지원되므로 스타일 속성 수정을 감지하는 실행 가능한 솔루션입니다.

위 내용은 JavaScript에서 스타일 속성 변경을 추적할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿