Как загрузить JavaScript (jQuery) на pjax:ready и document.ready

Я использую pjax для большинства своих страниц. Для некоторых из них мне нужно включить сценарии jQuery.

Когда я загружаю страницу с pjax, все скрипты в $(document).on('ready pjax:success', function() { ... } работают нормально, хотя, если страница загружается напрямую, скрипты в вышеуказанной функции не будут работать, и наоборот - скрипты внутри $(document).ready(function() {...} не будут работать, если страница загружена с pjax.

Есть ли способ определить, была ли страница загружена с помощью pjax, и использовать document.ready, если это не так?

Спасибо за всю помощь заранее.


person Dom    schedule 05.01.2017    source источник


Ответы (1)


См. https://api.jquery.com/ready/.

Существует также $(document).on( "ready", handler ), объявленный устаревшим в jQuery 1.8 и удаленный в jQuery 3.0.

Мое быстрое решение было следующим:

function myFunction() { ... }
$(myFunction)
$(document).on('pjax:end', myFunction)
person brad    schedule 10.06.2017