2008-08-28 7 views
2

Ich habe eine JavaScript-Methode, die ich auf einer meiner Seiten, insbesondere die onresize Ereignis ausführen muss.Call onresize von ASP.NET Inhalt Seite

Ich sehe jedoch nicht, wie ich dieses Ereignis von meiner Inhaltsseite aus festlegen kann. Ich wünschte, ich könnte es einfach auf meine Masterseite stellen, aber ich brauche die Methode nicht auf allen Seiten, die diese Masterseite verwenden.

Jede Hilfe wäre willkommen.

Antwort

4

Legen Sie die folgenden in Ihrem Content-Seite:

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

Dieser Code sollten Sie die grundlegende Idee von dem, was Sie tun müssen. Hoffentlich verwenden Sie eine Bibliothek, die bereits über Code verfügt, um Ihnen das Schreiben von Ereignishandlern und dergleichen zu erleichtern.

0

Wie wäre es mit Code wie dem folgenden auf Ihrer Content-Seite (C#)?

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

So könnten Sie eine resizeMyPage Funktion irgendwo in der Javascript definiert haben und es würde ausgeführt werden, wenn der Browser geändert wird!

0

hatte ich das gleiche Problem und habe über dieses Thema kommen:

IE Resize Bug Revisited

Der obige Code funktioniert aber IE hat ein Problem, wo die onresize ausgelöst, wenn der Body-Tag seine Form ändert. Dieser Blog gibt eine alternative Methode, die gut funktioniert