Javascript событие, когда страница отображается?

0

У меня есть веб-страница с некоторыми div и контентом (сетка Kendo UI внутри Kendo Splitter), которые получают размер автоматически, чтобы соответствовать доступному пространству, когда страница готова или изменена. Это происходит с помощью обработки Javascript + JQuery с обычными триггерами, и она работает плавно.

Но когда панель инструментов открыта, например Firebug, происходит следующее:

Если я обновляю и переключаюсь на другую вкладку браузера до загрузки страницы, я возвращаюсь к своей странице, я вижу, что один из divs (grid one) больше, чем его контейнер, поэтому он переполняется несколькими пикселями. Кстати, это происходит через несколько мгновений после того, как страница была отображена, поэтому нельзя использовать триггер visibilitychange.

То же самое происходит в IE, просто открывая внутристраничный отладчик.

Я не думаю, что виджет KendoUI связан с этой проблемой, но я сообщаю об этом ради полноты.

Поэтому я подумал, что лучший способ исправить это будет состоять в том, чтобы воспользоваться некоторым событием, которое запускается, когда документ отображается пользователем. Он существует?

Теги:
kendo-ui
events
triggers

1 ответ

2

Возможно, вам захочется прослушать focus и blur событий в window следующим образом:

$(window).on('focus', function() {
    //(...)
});

событие blur запускается при переходе на другую вкладку или в другое окно, кроме окна браузера. focus событие делает обратное.
Я мог бы добавить jsfiddle здесь, но он использует iframes чтобы он не мог быть правильно протестирован.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню