0

多くのフィールドを持つウィンドウがあります。これらのフィールドのいくつかは、ビュー内の他のフィールドまたは要素を表示/非表示にします。これが発生すると、関数を呼び出してウィンドウ サイズを調整します。

その関数は基本的に本体の幅と高さを取得し、それに応じて window.resizeTo 関数を使用してウィンドウのサイズを変更します。

ここで、新しい機能を追加するように求められました: ユーザーが手動でウィンドウのサイズを変更した場合、それ以上の自動サイズ変更を停止します。

サイズ変更イベントをリッスンして、 window.resizeTo 関数によってトリガーされたときと、ユーザーによってトリガーされたときを検出できると思います。

問題は、方法が見つからないことです.それは可能ですか?

4

2 に答える 2

1

あります.resize()。しかし、ユーザーがウィンドウのサイズを変更した場合、ブラウザーからネイティブ情報を取得するという変更は見られません。しかし、関数がウィンドウのサイズを変更するときにフラグを設定し*、.resize()内で何もしないという解決策を考えることができます。ただし、 .resize() が発生してもフラグが設定されていない場合は、ユーザーによってトリガーされました。

* = サイズ変更コードの実行後にフラグも削除します。

于 2013-05-10T19:07:40.900 に答える
0

ユーザーがブラウザのサイズを変更しているときに検出できる「サイズ変更」イベントを使用すると、そのとおりです。例:

document.addEventListener("resize", function(){
  alert("resizing!");
}, false);
于 2013-05-10T19:07:55.107 に答える