0

SharePoint Web パーツ内で実行される JavaScript があります。ウィンドウのサイズが変更されたときに関数を実行したいと思います。通常、私は使用します

<html>
  <body onresize="resizeFunction();">
  </body>
</html>

しかし、SharePoint では状況が複雑になります。onload私はこのように使用できる機能を持っています:

_spBodyOnLoadFunctionNames.push('myFunctionName');

これはonLoadイベントで実行されます。onResizeイベントに似たようなものはありますか?

4

2 に答える 2

2

jQuery やプロトタイプなどの外部 JavaScript ライブラリの使用を検討することもできます。

たとえば、jQuery では、(テストされていないコード!!)

$("window").bind("resize", "myFunctionName");

jQuery ドキュメント: http://docs.jquery.com/Events/bind

SharePoint での jQuery の使用に関する情報: http://weblogs.asp.net/jan/archive/2008/11/20/sharepoint-2007-and-jquery-1.aspx

編集:外部ライブラリを使用したくない場合は、ドキュメントの読み込み時に、サイズ変更イベントに別の関数をアタッチする関数を実行します。何かのようなもの:

_spBodyOnLoadFunctionNames.push(function() {
    window.onresize = function() {
         /* resize code here */
    }});

もちろん、名前付き関数を使用することもできます。

編集 2: イベントを上記のように定義する (window.onresize = ) のは、1 つのイベントにのみ有効です。そのため、同じページの同じイベントに対して複数のイベント ハンドラが同じ方法で指定された場合、最後に指定されたものが「勝ち」ます。これを行うための「正しい」方法は、イベント ハンドラーをアタッチすることです。これを実現する最も簡単な方法は、ブラウザー間の違いを透過的に処理するライブラリを使用することです。

于 2009-06-01T14:57:09.323 に答える
1
$(window).resize(function(){                
        alert("Ya its workingggg")  ;       
});
于 2009-11-13T14:47:40.587 に答える