【问题标题】:Call onresize from ASP.NET content page从 ASP.NET 内容页面调用 onresize
【发布时间】:2010-09-07 04:37:23
【问题描述】:

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

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

任何帮助将不胜感激。

【问题讨论】:

    标签: asp.net javascript master-pages onresize


    【解决方案1】:

    在您的内容页面中放置以下内容:

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

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        【解决方案3】:

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

        IE Resize Bug Revisited

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-07-12
          • 1970-01-01
          • 2013-10-06
          • 1970-01-01
          • 2016-12-06
          • 1970-01-01
          • 2014-02-23
          相关资源
          最近更新 更多