从ASP.NET内容页面调用onresize

时间:2008-08-28 20:24:05

标签: asp.net javascript master-pages onresize

我有一个JavaScript方法,我需要在其中一个页面上运行,特别是onresize事件。

但是,我没有看到如何从我的内容页面设置该事件。我希望我可以把它放在我的母版页上,但我不需要在使用该母版页的所有页面上调用该方法。

任何帮助都将不胜感激。

3 个答案:

答案 0 :(得分:4)

将以下内容放入您的内容页面:

<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>

该代码应该为您提供您需要做的基本知识。希望您使用的代码库已经有代码来帮助您编写事件处理程序等。

答案 1 :(得分:0)

如何在内容页面(C#)中使用如下代码?

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

因此,您可以在Javascript中的某处定义resizeMyPage函数,并且只要调整浏览器大小,它就会运行!

答案 2 :(得分:0)

我遇到了同样的问题并且遇到了这个帖子:

IE Resize Bug Revisited

上面的代码有效,但IE有一个问题,即当body标签改变形状时会触发onresize。这个博客提供了另一种运作良好的方法