1

jqueryを使用して、特定のCSS変数が変更された場合(例:特定のdivの高さ)に関数を呼び出すにはどうすればよいですか?

4

2 に答える 2

0

http://darcyclarke.me/development/detect-attribute-changes-with-jquery/いくつかのプラグイン アプローチと、さまざまなブラウザーの癖があります。これは、すべてのブラウザーで DOMAttrModified イベントを模倣します。

于 2011-02-23T22:06:42.147 に答える
0

これに対する「ネイティブ」ソリューションはありません。css プロパティの操作に厳密に jQuery を使用している場合は、関数フックまたは (ダック パンチング) がベスト ショットです。

(function($) {
    var _oldcss = $.fn.css;
    $.fn.css = function() {
        if( typeof arguments[0] === 'string' ) {
            console.log('css property ', arguments[0], ' is about to change for elem: ', this);
        }

        return _oldcss.apply(this, arguments);
    };
}(jQuery));

もちろん、これは不完全です。の場合arguments[0]object、キー/値を反復処理する必要があります。しかし、これは基本原則です。

このソリューションの良い点は.height().css(). そう

$('div:eq(2)').height(55);

elem の css プロパティの高さが変更されようとしています: [div#custom-header]

于 2011-02-23T22:02:15.057 に答える