Сброс document.ready ($ .getScript) - PullRequest
3 голосов
/ 28 июня 2011

Мне нужно динамически включать скрипт через $ .getScript.

Проблема, однако, в том, что функция $ (document) .ready из этого динамически включенного сценария не выполняется.(Они динамической вставки не происходит в готовом дом)

Есть ли способ заставить это сделать?Например, подделать событие document.ready?

Спасибо, Уэсли

Ответы [ 3 ]

4 голосов
/ 28 июня 2011

После запуска doc ready все будущие вызовы doc ready будут выполняться при разборе.

Считывание API

Обработчик передан .ready() гарантированно выполняется после того, как DOM будет готов

1 голос
/ 28 июня 2011

Имеет смысл, что новые обработчики, определенные через $.getScript(), пропускают событие document.ready, так как DOM документа завершил загрузку ранее.

Вы пробовали $(document).trigger('ready'), чтобы повторно вызвать это событие?Конечно, все зарегистрированные ранее обработчики событий будут вызываться снова.

0 голосов
/ 28 июня 2011

В вашем включаемом файле переместите инициализацию в другую функцию и вызовите ее оттуда:

//include js:
$(document).ready(initialise);

function initialise(){
}

Это в файле, который загружает это все, что вам нужно сделать, это позвонить initialise

Тема запуска готовности уже хорошо освещена в SO:

Как вызвать $ (). Ready () в jQuery?

Триггер $ document.ready (поэтому выполняется код AJAX, который я не могу изменить)

...