вызвать $(documet).ready() повторно
Как в jQuery вызвать это событие повторно?
|
F5
PS: объясни цель этого вызова |
это не событие, никак, вы делаете что то неправильное Т.е. api для этого не предусмотрено? То что совсем то никак конечно загнули, можно переопределить ready(), даже не переписывая jQuery, а возможно хендлеры и так сохраняются где нибудь в объекте jQuery. bes После разработки сайта возникла задача сделать погрузку всех страниц ajax'ом, со сменой URL через window.history.pushState, что бы сохранить непрерывность проигрывания плеера. Пример можно посмотреть на vk.com. В принципе по это дело есть плагин jquery-pjax. Естественно, после обновления контента большинство скриптов сбиваются, новые не навешиваются. Задача адаптировать существующий код под новую навигацию. |
http://api.jquery.com/live/
в 1.8 ещё работает UPD: <script src="jquery-1.8.3.min.js"></script> <button class="but">click</button> <script> jQuery(function ($) { $(".but").live('click', function () { console.log(new Date()); $.ajax({ type: 'POST', url: 'some.htm', success: function (data) { $('body').html(data); window.history.pushState('', '', 'some.htm'); } }); }); } ); </script> some.htm <button class="but">some.htm click</button> |
в замен live есть on, собственно onclick на все ссылки для pjax так и навешиваются. Но существующий код, и сторонние jquery плагины навешиваются обычным образом.
Пока сделал так, переопределил jQuery.fn.ready и setTimeout, при загрузке очищаю все jQuery события и таймауты и выполняю ready() заново. |
Часовой пояс GMT +3, время: 05:16. |