0

私のhtmlで:

<body onresize="doSomething();">

私は私のjavascriptにこれを持っています:

function doSomething() {
    alert(1);
    // it doesn't actually have alert(1), but this is just for demonstration
}

ブラウザ ウィンドウのサイズを変更すると (タイトルをダブルクリックして)、イベントが IE8 で 2 回発生するため、機能が台無しになります。

なぜ、どのように回避できるのか、誰にもわかりませんか?前もって感謝します!

4

2 に答える 2

3

右下隅のドラッグ領域をランダムに移動してブラウザ ウィンドウを「サイズ変更」すると、onresizeイベントが繰り返し発生することがわかります。

要点は、ウィンドウのサイズ変更を構成するものはかなり議論の余地があるということです。これはブラウザーと OS の間で大きく異なることを受け入れる必要があります。

設定されている場合はキャンセルし、次にwindow.setTimeoutサイズ変更イベントにタイマー ( ) を設定し、タイマーが起動したときに実際のサイズ変更作業を行うことを含む、処理するレシピ。

コストが高すぎない場合onresizeは、呼び出しを繰り返しても問題にならないような方法で作成する必要があります。

于 2013-01-06T18:57:34.960 に答える
2

これは、jQuery で Window resize イベントが 2 回発生するのと同じです。onresize イベントは、ウィンドウのサイズが変更されると発生しますが、複数回発生する可能性があります。

于 2013-01-06T18:55:49.293 に答える