我有一个 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>

该代码应该让您了解您需要做什么的基本概念。希望您使用的库已经包含可以帮助您编写事件处理程序等的代码。

其他提示

我遇到了同样的问题,并遇到了这篇文章:

重新审视 IE 调整大小错误

上面的代码可以工作,但是 IE 有一个问题,即当 body 标签改变形状时会触发 onresize。该博客提供了一种效果很好的替代方法

在您的内容页面 (C#) 中使用如下代码怎么样?

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

因此,你可以有一个 resizeMyPage 在 Javascript 中某处定义的函数,每当调整浏览器大小时都会运行它!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top