Próbuję znaleźć sposób na wykrycie zmian w stylu elementu, ale nie miałem szczęścia. Poniższy kod działa na nowej właściwości zdefiniowanej jako tempBgColor, ale nie mogę przesłonić istniejącej właściwości, takiej jak kolor. Wiem, że jquery ma funkcję watch, ale wykrywa tylko zmiany z api jquery, ale nie zmienia bezpośrednio wartości stylu podobnego do elem.style.color.Wykryj zmianę stylu elementu w chrome
var e = document.getElementById('element');
e.style.__defineGetter__("color", function() {
return "A property";
});
e.style.__defineSetter__("color", function(val) {
alert("Setting " + val + "!");
});
Jakieś wskazówki?
niesamowite! Każdy pomysł pokazuje wydajność, jeśli obserwujesz cały dokument? – webber
Mam tylko świadomość, że stara metoda wykonywała [bardzo źle] (https://groups.google.com/forum/?fromgroups=#!topic/mozilla.dev.platform/L0Lx11u5Bvs) i [nowy wzór] (http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/0779.html) został zaprojektowany jako skuteczny zamiennik. Miałem także zakładkę [prezentacja] (http://www.youtube.com/watch?v=eRZ4pO0gVWw), która może być przydatna. Przepraszam, ale nie mam żadnych testów porównawczych ani pomysłu na wpływ na wydajność obserwacji dokumentu. Podejrzewam, że będzie się on różnił między przeglądarkami :-) – andyb
Dzięki! Uwielbiam to, jak czysty jest – webber