2008-08-28 9 views
2

J'ai une méthode JavaScript que je dois exécuter sur une de mes pages, en particulier, l'événement onresize.Appelez onresize à partir de la page de contenu ASP.NET

Cependant, je ne vois pas comment je peux définir cet événement à partir de ma page de contenu. J'aimerais pouvoir le mettre sur ma page maître, mais je n'ai pas besoin que la méthode soit appelée sur toutes les pages qui utilisent cette page maître.

Toute aide serait appréciée.

Répondre

4

Placez le suivant dans votre page de contenu:

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

ce code devrait vous donner l'idée de base de ce que vous devez faire. J'espère que vous utilisez une bibliothèque qui a déjà du code pour vous aider à écrire des gestionnaires d'événements et autres.

0

Que diriez-vous d'utiliser le code comme suit dans votre page de contenu (C#)?

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

Ainsi, vous pourriez avoir une fonction définie resizeMyPage quelque part dans le Javascript et il serait courir chaque fois que le navigateur est redimensionnée!

0

J'ai eu le même problème et je suis venu sur ce poste:

IE Resize Bug Revisited

Le code ci-dessus fonctionne, mais IE a un problème où le onresize est déclenché lorsque la balise body change de forme. Ce blog donne une autre méthode qui fonctionne bien

Questions connexes