8

要素スタイルの変更を検出する方法を見つけようとしていますが、うまくいきませんでした。以下のコードは、tempBgColor のように定義した新しいプロパティで機能しますが、色のような既存のプロパティをオーバーライド/シャドーすることはできません。jquery には監視機能があることは知っていますが、jquery API からの変更のみを検出し、elem.style.color などのスタイルの値を直接変更することはありません。

var e = document.getElementById('element');
e.style.__defineGetter__("color", function() {
   return "A property";
});
e.style.__defineSetter__("color", function(val) {
    alert("Setting " + val + "!");
});

ポインタはありますか?

4

3 に答える 3

17

Chrome の開発者ツールを開いた状態で、スタイルの変更に関心のある要素を見つけて右クリックし、[Break on...] と [Attributes modified] を選択します。

于 2015-06-15T21:59:58.350 に答える