从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。该博客提供了一种行之有效的替代方法