Pregunta

Tengo un método JavaScript que necesito ejecutar en una de mis páginas, en particular, el onresize evento.

Sin embargo, no veo cómo puedo configurar ese evento desde mi página de contenido.Desearía poder ponerlo en mi página maestra, pero no necesito que se llame al método en todas las páginas que usan esa página maestra.

Cualquier ayuda sería apreciada.

¿Fue útil?

Solución

Coloque lo siguiente en su página de contenido:

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

Ese código debería darle una idea básica de lo que debe hacer.Con suerte, estás utilizando una biblioteca que ya tiene código para ayudarte a escribir controladores de eventos y demás.

Otros consejos

Tuve el mismo problema y encontré esta publicación:

Error de cambio de tamaño de IE revisado

El código anterior funciona, pero IE tiene un problema en el que el cambio de tamaño se activa cuando la etiqueta del cuerpo cambia de forma.Este blog ofrece un método alternativo que funciona bien.

¿Qué tal si usamos un código como el siguiente en su página de contenido (C#)?

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

Así, podrías tener un resizeMyPage Función definida en algún lugar de Javascript y se ejecutará cada vez que se cambie el tamaño del navegador.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top