2012-03-07 9 views
2

聞くことができない時はいつでも文書(ボディ) の内側に何によって引き起こされます(ただし、は、サイズ変更の原因要素を知らないと想定されている)は を変更サイズ私はイベントを聴きたい文書のサイズ変更イベント

以下のコードのように: http://jsfiddle.net/marstone/7zaRT/8/ divのサイズを変更するには、緑色の領域をクリックしてからdocument.bodyのサイズを変更できます。 ただし、onresizeイベントは発生しません。

私は、ウィンドウのサイズが変更するとき、それは唯一のいずれかの回避策などのドラッグ/最大ブラウザウィンドウ

として、働くことがわかりましたか?どんな助けもありがたい。

答えて

0

これはトリックを行う必要があります。

http://jsfiddle.net/pratik136/7zaRT/12/

+1

ありがとう!それはChromeとFFでは私のために働くが、IEではそうではない。 – marstone

+0

IEの唯一の方法は、粗い方法です:http://stackoverflow.com/q/1218445/476786 変更をチェックするために常にDOMをポーリングします。ビューポートのサイズの変化を検出するためにこれをハックすることができます。スクロールバーと相対的な位置の変化を試してみてください。 ああ、この回答が役に立った場合は、受け付けたものとしてマークしてください:) – bPratik

2

サイズ変更イベントは、Windowsオブジェクトでのみ使用できます。 jquery-resize pluginを使用すると、DOM要素のサイズ変更イベントを追加できますが、要素のサイズを追跡するポーリングメカニズムを実装するというアドバイスを受けることができます。そのため、常にイベントを、見たい要素にバインドする必要があります(実際のイベントがDOMにバブリングされないため、デリゲートは機能しません)。

これまでのところ、私はこのプラグインを何度か使用しましたが、何の不具合もありませんでした。私は他のプラグインがこれと同じメカニズムを実装しているかどうかは分かりませんが、私はどちらもこのようなポーリングメカニズムに頼っているとは確信しています。それが過度に発射する傾向があるが、私はこのアプリに収まる可能性がどのように把握するためにあなたにそれを残すだろうと、しかし

$(document).bind('DOMSubtreeModified', function(e) { 
alert("Bazinga!"); 
console.log(e); 
​});​ 

注:

+0

ありがとうございました!私のプロジェクトは何らかの理由でjqueryを使用できません。私はこのメカニズムを自分で実装したいと思います。私は軽い重みのある解決策を見つけたい – marstone

関連する問題