Pergunta

Eu tenho um método JavaScript que preciso executar em uma de minhas páginas, em particular, o onresize evento.

No entanto, não vejo como posso definir esse evento na minha página de conteúdo.Eu gostaria de poder colocá-lo na minha página mestra, mas não preciso que o método seja chamado em todas as páginas que usam essa página mestra.

Qualquer ajuda seria apreciada.

Foi útil?

Solução

Coloque o seguinte em sua página de conteúdo:

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

Esse código deve lhe dar uma ideia básica do que você precisa fazer.Esperamos que você esteja usando uma biblioteca que já possui código para ajudá-lo a escrever manipuladores de eventos e coisas assim.

Outras dicas

Eu tive o mesmo problema e me deparei com esta postagem:

Bug de redimensionamento do IE revisitado

O código acima funciona, mas o IE tem um problema onde o onresize é acionado quando a tag body muda de forma.Este blog fornece um método alternativo que funciona bem

Que tal usar um código como o seguinte em sua página de conteúdo (C#)?

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

Assim, você poderia ter um resizeMyPage função definida em algum lugar do Javascript e seria executada sempre que o navegador fosse redimensionado!

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top