11
「スタイルチェンジ」イベントを聞くことは可能ですか?
スタイルの変更にバインドできるjQueryでイベントリスナーを作成することは可能ですか?たとえば、要素が寸法を変更したときに何かを「実行」したい場合、またはスタイル属性のその他の変更を実行したい場合、 $('div').bind('style', function() { console.log($(this).css('height')); }); $('div').height(100); // yields '100' それは本当に便利でしょう。 何か案は? 更新 私自身これに答えて申し訳ありませんが、私は他の誰かに合うかもしれないきちんとしたソリューションを書きました: (function() { var ev = new $.Event('style'), orig = $.fn.css; $.fn.css = function() { $(this).trigger(ev); return orig.apply(this, arguments); } })(); これにより、内部のprototype.cssメソッドが一時的にオーバーライドされ、最後にトリガーで再定義されます。したがって、次のように機能します。 $('p').bind('style', function(e) { console.log( $(this).attr('style') ); }); $('p').width(100); $('p').css('color','red');
206
javascript
jquery