質問

ページの 1 つ、特に、 onresize イベント。

ただし、コンテンツ ページからそのイベントを設定する方法がわかりません。これをマスター ページに配置できればいいのですが、そのマスター ページを使用するすべてのページでメソッドを呼び出す必要はありません。

助けていただければ幸いです。

役に立ちましたか?

解決

コンテンツ ページに以下を配置します。

<script type="text/javascript">

// here is a cross-browser compatible way of connecting 
// handlers to events, in case you don't have one
function attachEventHandler(element, eventToHandle, eventHandler) {
    if(element.attachEvent) {
       element.attachEvent(eventToHandle, eventHandler);
    } else if(element.addEventListener) {
       element.addEventListener(eventToHandle.replace("on", ""), eventHandler, false);
    } else {
    element[eventToHandle] = eventHandler;
  }
}

attachEventHandler(window, "onresize", function() {
    // the code you want to run when the browser is resized
});

</script>

このコードから、何をする必要があるかについての基本的なアイデアが得られます。イベント ハンドラーなどの作成に役立つコードが既に含まれているライブラリを使用していることを願っています。

他のヒント

私も同じ問題を抱えていて、この投稿を見つけました:

IEのサイズ変更バグ再考

上記のコードは機能しますが、IE では body タグの形状が変化すると onresize がトリガーされるという問題があります。このブログでは、うまく機能する代替方法を紹介しています

コンテンツ ページ (C#) で次のようなコードを使用してみてはいかがでしょうか。

Page.ClientScript.RegisterStartupScript(this.GetType(), "resizeMyPage", "window.onresize=function(){ resizeMyPage();}", true);

したがって、次のようにすることができます。 resizeMyPage この関数は Javascript のどこかで定義されており、ブラウザのサイズが変更されるたびに実行されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top