обратный вызов после завершения загрузки веб-страницы - PullRequest
0 голосов
/ 21 февраля 2012

Когда пользователь щелкает вкладку на веб-странице, она открывается и соответствующая страница загружается с сервера.

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

В принципе, что я хочу знать, такая функция, которая вызывается, когда страница полностью загружается.

Ответы [ 3 ]

1 голос
/ 21 февраля 2012

Вы использовали успех JQuery ??обработчик успеха будет вызываться только после того, как ваш ответ будет готов.Попробуйте это:

$.ajax({
  url: "test.html",
  context: document.body,
  success: function(){
    //Do the stuff here, hence downloading has been completed and response from server is ready
    $(this).addUI("done");
  }
});
0 голосов
/ 21 февраля 2012

Я тоже столкнулся с этой проблемой .. Проблема в том, что ваш контент еще не доступен, прежде чем вы сможете поработать над ним.
любая ссылка, которую вы дадите, приведет к возврату Null Решение может быть .bind () & .live ()

предположим, что это ваш динамический контент

$('body').append('<div class="clickme">Another element</div>'); 


Вы можете связать элемент,

$('.clickme').bind('click', function() {  
 // Bound handler called.  
});  

или зарегистрируйте его для живого контента,

$('.clickme').live('click', function() {  
// Live handler called.  
}); 

когда больше не требуется, вы можете отменить подписку на событие с динамическим контентом с помощью .die ()
вы также можете найти .delegate () & undelegate () полезными, поскольку есть небольшие проблемы с .live () & .die ().
Проверьте http://www.alfajango.com/blog/the-difference-between-jquerys-bind-live-and-delegate/ для выбора того, что вам нужно для вашего приложения.
Не забудьте не забыть, что вы гарантированно загружаете контент с помощью ajax, как упомянуто здесь programmer_1.
Удачи:)
Любые дальнейшие разъяснения просьба прокомментировать.

0 голосов
/ 21 февраля 2012

добавьте это в тело вашей страницы ..

<body onload="init()">

</body>

По сути, вы вызываете init function - который запускает все остальные функции, которые вы хотите, только после загрузки тела веб-страницы..

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...