Создайте новый файл jQuery и ищите информацию о том, как сохранить весь мой скрипт в одном внешнем файле и не иметь его вложенности в document.ready() ;. Я надеюсь, что вы сможете называть определенные функции только на определенных страницах, а остальные - обрабатывать с помощью ready() ;. Я не уверен на 100%, что лучше всего назвать функцию со страницы:/ Спасибо.Вызов внешних функций jQuery без document.ready();
ответ
Нет ничего плохого в том, что у вас есть несколько документов.readys
Мне нравится добавлять уникальный идентификатор на каждую страницу и проверять javascript, что идентификатор существует до его выполнения. Вы можете создать простую функцию-оболочку, которая выполняет проверку и ожидает document.ready:
var pageReady = function (id, callback) {
$(function() {
if ($(id).length) {
callback();
}
});
};
Затем, похожий на document.ready, вы можете иметь:
pageReady("#home-page", function() {
// Code will only run for home page here
});
pageReady("#search-page", function() {
// Code will only run for search page here
});
Только не забудьте добавить идентификаторы ...
<body id="home-page">
Вы можете использовать несколько файлов readty.
Один из моих любимых способов, чтобы определить, должен ли я запустить код на странице, чтобы дать организму класс uniquie, а затем использовать это ...
if ($('body').hasClass('contact')) {
// Validate form, etc
}
Хотя JavaScript предоставляет событие нагрузки для выполнение кода при визуализации страницы, это событие не запускается до тех пор, пока все активы, такие как изображения, не будут полностью получены. В большинстве случаев сценарий можно запустить, как только иерархия DOM будет полностью построена. Обработчик, переданный в .ready(), должен быть выполнен после того, как DOM готов, поэтому это обычно лучшее место для присоединения всех других обработчиков событий и запуска другого кода jQuery. При использовании сценариев, основанных на значении свойств стиля CSS, важно ссылаться на внешние таблицы стилей или внедрять элементы стиля перед ссылкой на сценарии.
В вашем внешнем файле вы можете иметь $(document).ready(function() { //code here; });
Кроме того, вы можете иметь все ваши функции во внешнем файле, а затем просто на вашей странице есть
$(document).ready(function() { myfunction(); });
Aww, спасибо за редактирование – Prescott 2010-12-01 01:52:19
Вы можете сохранить все ваши скрипты в одном файле, если хотите. Вы можете иметь свои простые JS-функции в файле, а не внутри функции document.ready(), если вам не нужно манипулировать или взаимодействовать с DOM. Затем вы можете поместить все ваши DOM-манипуляции и взаимодействие JS внутри функции document.ready(). Вы также можете поместить JS в функцию $ (window) .load() для запуска кода, как только весь ресурс загрузится на страницу, включая изображения.
Пример:
$(window).load(function() {
// code that will run once all resources and the DOM are loaded into the browser
console.log("window loaded");
});
runOnScriptLoad();
function runOnScriptLoad() {
// code that will run as soon as the JS file loads
console.log("script loaded");
}
$(document).ready(function() {
// code that will run once the entire DOM is loaded into the browser
console.log("DOM ready");
});
$(window).load(function() {
// code that will run once all resources and the DOM are loaded into the browser
console.log("window loaded");
});
Пример страницы: =>http://mikegrace.s3.amazonaws.com/forums/stack-overflow/example-dom-ready.html
Попросите поджигатель консоль открыта при загрузке страницы, и вы увидите, порядок, в котором каждый получает выполненный в.
+1, мне нравится использовать `$ (окно).load() ` – Alex 2010-12-01 02:05:19
@Alex почему? Есть только конкретные ситуации, когда это полезно, поскольку оно медленнее, чем готовый документ. – 2010-12-01 04:11:03
- 1. Сочетание функций jQuery document.ready
- 2. Python: вызов внешних функций внутри функций
- 3. Вызов внешних функций в встроенных функций
- 4. Вызов функции jQuery document.ready вручную
- 5. Вызов функции внутри document.ready, Jquery
- 6. fake jquery document.ready вызывает страницы без jquery
- 7. Определить последовательность функций document.ready()?
- 8. Вызов функции внутри document.ready от внешнего document.ready
- 9. Использование jQuery без функции document.ready
- 10. PHP5: вызов внешних функций и ошибки протоколирования
- 11. Ручной вызов document.ready
- 12. AngularJS: Вызов внешних функций из директивы?
- 13. Вызов внешних javascript-функций из java-кода
- 14. САКСОНСКИЕ - Вызов внешних функций Java в XQUERY
- 15. Вызов внешних функций от помощников шаблонов Метеор
- 16. вызов внешних функций в GTK + gui
- 17. Вызов внешних функций javascript в коде
- 18. Вызов OnLoad событие из document.ready в JQuery
- 19. Вызов PHP из document.ready
- 20. jQuery document.ready
- 21. несколько функций в document.ready функции
- 22. Вызов методов jQuery из функций Javascript
- 23. Очистка вызова jquery document.ready()
- 24. Вызов без встроенных функций от встроенных функций
- 25. document.ready получает вызов несколько раз
- 26. Создание функций JQuery во внешних файлах
- 27. Вызов функций JavaScript внутри функций jQuery?
- 28. Вызов внешних методов без создания экземпляра объекта
- 29. jQuery + Javascript: Объединение повторяющихся функций между document.ready и ajax load
- 30. JQuery: разделение функций между кодом страницы и document.ready кодом
Я не уверен, что вы имеете в виду. Когда DOM готов, вы можете делать что угодно. А также? – karim79 2010-12-01 01:24:00