0

我有一些将在 SharePoint Web 部件中执行的 JavaScript。我想在调整窗口大小时执行一个函数。通常我会使用

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

但在 SharePoint 中,事情开始变得棘手。我有一个onload可以这样使用的功能:

_spBodyOnLoadFunctionNames.push('myFunctionName');

这会在onLoad事件中执行。onResize事件有类似的东西吗?

4

2 回答 2

2

您可能会考虑使用外部 javascript 库,例如 jQuery 或原型等。

例如,在 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 = ) 仅对一个事件有好处。因此,如果为同一页面上的同一事件以相同的方式指定多个事件处理程序,则最后指定的那个“获胜”。做到这一点的“正确”方法是附加一个事件处理程序,而实现这一点的最简单方法是通过一个库,因为它们透明地处理跨浏览器的差异。

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