Я подключил несколько функций в нескольких файлах к $ (document) .ready и хотел бы приложить к ним одну функцию, которая будет первой, $ (document) .ready обрабатывает или самостоятельно запускает перед обработчиком $ (document) .ready.
Есть ли способ обработать порядок функций, которые jQuery инициирует внутри себя как часть jQuery.fn.ready или подключить функцию, которая вызывает непосредственно перед jQuery.fn.ready.
ли редактирование jQuery.fn.ready в сценарии 3 партии безопасной делать или это вызовет ужасный стук эффектов в других плагинов третьих сторон (кроме плагинов, редактировать jQuery.fn.ready сами)
[ Изменить]:
как пример
$(document).ready(function b() {});
....
$(document).ready(function a() {/* optional setup*/});
....
$(document).ready(function c() {});
функция а должно произойти первое не имеет значения порядка, но только вызывается на нескольких страницах. Я не могу гарантировать порядок b или c, поэтому я не могу инициировать пользовательские события в начале b или c, чтобы вызвать a.
Поэтому я хотел бы получить общее решение, которое я могу использовать для принудительного размещения в начале внутреннего списка готовых jQuery или подключиться к функции готовности jQuery и безопасно редактировать его, чтобы он вызывал перед любой из других функций в readyList.
[Далее Edit]
Если возможно, я бы предпочел не перепроектировать яваскрипта кода порядка выполнения или должны коснуться любого другого кода, кроме функции а(). Я знаю, реструктуризация позволит мне обойти эту проблему, но я предпочел бы просто написать одну функцию, как
$.beforeReady(function a() {});
Что вы делаете, когда вам нужно добавить код, который выполняется перед функцией beforeReady? Вы добавите beforeBeforeReady? Иногда вам просто нужно укусить пулю и сделать то, что нужно сделать, и исправить код, чтобы это имело смысл. –
@Jani у вас может быть действительная точка. Тем не менее, я бы предпочел создать beforeReady, а затем заменить все события .ready с .bind («загружен») и заменить beforeReady на .bind («setup») – Raynos
Эта проблема должна быть исправлена в следующей версии jQuery: https: // github.com/jquery/jquery/pull/80 – Mottie