1

ネストされた div をいくつか作成しました。内側は水平方向にサイズ変更可能で、外側は垂直方向にサイズ変更可能です。親div(またはウィンドウ)のサイズを変更すると、子のサイズが変更されるようにしています。

ただし、子 div のサイズが変更されると、サイズが変更されていない場合でも、すべての祖先がサイズ変更イベントを受け取ります。

Win7 で Chrome 18.0 を使用しています。

例: http://jsfiddle.net/m95Ha/
赤とシアンの側面とウィンドウのサイズを変更し、黒い div の文字を確認します。たとえば、シアン側を水平方向にサイズ変更すると、'i' ('#inner' サイズ変更イベント)、'o' 'i' ('#outer' サイズ変更イベント)、および'w' (ウィンドウ サイズ変更イベント) が発生します。
私は「o」や「w」を期待していませんでした。

これは jQuery のことですか、それとも Chrome のことですか、それとも HTML/DOM 標準ですか?

4

1 に答える 1

1

これは jQuery UI の意図された動作です。resize メソッドは通常のイベントのようにバブルします。必要に応じて、次のようにして、jQuery UI のサイズ変更が不可能なウィジェットで発生するサイズ変更イベントを除外できます。

$('whatever').bind('resize', function(event) {
    if (!$(event.target).hasClass('ui-resizable')) {
        //do stuff here
    }
});

この質問にも関連する議論があります - jQuery UI resizable fire window resize event

于 2012-05-19T02:19:46.563 に答える