【发布时间】:2010-09-07 04:37:23
【问题描述】:
我有一个需要在我的一个页面上运行的 JavaScript 方法,特别是 onresize 事件。
但是,我看不到如何从我的内容页面设置该事件。我希望我可以将它放在我的母版页上,但我不需要在使用该母版页的所有页面上调用该方法。
任何帮助将不胜感激。
【问题讨论】:
标签: asp.net javascript master-pages onresize
我有一个需要在我的一个页面上运行的 JavaScript 方法,特别是 onresize 事件。
但是,我看不到如何从我的内容页面设置该事件。我希望我可以将它放在我的母版页上,但我不需要在使用该母版页的所有页面上调用该方法。
任何帮助将不胜感激。
【问题讨论】:
标签: asp.net javascript master-pages 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 有一个问题,即当 body 标签改变形状时会触发 onresize。该博客提供了一种效果很好的替代方法
【讨论】: