从ASP.NET内容页面调用onresize

时间:2020-03-05 18:44:39  来源:igfitidea点击:

我有一个JavaScript方法需要在我的页面之一上运行,特别是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>

该代码应该为我们提供所需的基本概念。希望我们正在使用已经有代码的库来编写事件处理程序等。

回答

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

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

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

回答

我有同样的问题,并且遇到过这个帖子:

再次介绍了IE调整大小错误

上面的代码有效,但是IE存在一个问题,当body标签更改形状时,会触发onresize。该博客提供了一种行之有效的替代方法