Вопрос

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

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

Будем признательны за любую помощь.

Это было полезно?

Решение

Разместите следующее на своей странице контента:

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

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

Другие советы

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

Исправлена ошибка Изменения размера IE

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top