2008-08-28 3 views
2

У меня есть метод JavaScript, который мне нужно запустить на одной из моих страниц, в частности, событие onresize.Вызов onresize из страницы содержимого ASP.NET

Однако я не вижу, как я могу установить это событие с моей страницы содержания. Мне жаль, что я не могу просто разместить его на моей главной странице, но мне не нужно, чтобы этот метод вызывался на всех страницах, которые используют эту главную страницу.

Любая помощь будет оценена по достоинству.

ответ

4

Поместите следующий на страницу содержания:

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

Этот код должен дать вам общее представление о том, что вам нужно сделать. Надеюсь, вы используете библиотеку, у которой уже есть код, который поможет вам написать обработчики событий и т. Д.

0

Как насчет того, как использовать код использования, как показано на вашей странице содержания (C#)?

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

Таким образом, вы могли бы иметь resizeMyPage функцию, определенную где-то в JavaScript, и он будет работать, когда браузер изменяет размер!

0

У меня была такая же проблема, и пришли на этот пост:

IE Resize Bug Revisited

Приведенный выше код работает, но IE имеет проблемы, где OnResize срабатывает, когда тег тело меняет форму. Этот блог дает альтернативный метод, который хорошо работает

Смежные вопросы