вызвать $(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, время: 00:56. |