Что такое $(function() {}); делать?
Иногда я делаю функцию и вызываю функцию позже.
Пример:
function example { alert('example'); }
example(); // <-- Then call it later
Каким-то образом некоторые функции не могут быть вызваны, и я должен вызвать их внутри:
$(function() { });
Что означают $(function() {});
и (function() { });
, и какова их разница/цель?
Ответы
Ответ 1
$(function() { ... });
является просто jQuery для
$(document).ready(function() { ... });
То, что он разработал (помимо всего прочего), гарантирует, что ваша функция вызывается, когда все элементы DOM страницы готовы к использованию.
Однако я не думаю, что проблема, с которой вы столкнулись, - вы можете уточнить, что вы подразумеваете под "Как-то, некоторые функции не могут быть вызваны, и я должен вызвать эту функцию внутри"?
Может быть, опубликовать какой-то код, чтобы показать, что не работает, как ожидалось?
Изменить: перечитав свой вопрос, возможно, ваша функция запущена до того, как страница закончила загрузку и поэтому не будет выполняться должным образом; положив его в $(function), действительно исправит это!
Ответ 2
Ниже приведен вызов функции jQuery:
$(...);
Какова функция jQuery. $- функция, а $(...) - это вызов этой функции.
Первый параметр, который вы указали, следующий:
function() {}
Параметр - это функция, которая вам специфична, и функция $$ будет вызывать метод, предоставленный при завершении загрузки DOM.
Ответ 3
Он просто сокращен для $(document).ready()
, как в: $(document).ready(function() {
YOUR_CODE_HERE
});
. Иногда вы должны использовать его, потому что ваша функция работает до того, как DOM завершит загрузку.
Все объяснено здесь: http://docs.jquery.com/Tutorials:Introducing_$ (document). готов()
Ответ 4
Я думаю, что вы можете запутать Javascript с помощью методов jQuery. Ванильный или простой Javascript - это что-то вроде:
function example() {
}
Функцию такого характера можно вызвать в любое время и в любом месте.
jQuery (библиотека, построенная на Javascript) имеет встроенные функции, которые обычно требовали полной визуализации DOM перед вызовом. Синтаксис для этого завершения:
$(document).ready(function() {
});
Таким образом, изнутри этого метода вызывается функция jQuery, которая имеет префикс $
или слово jQuery
.
$(document).ready(function() {
// Assign all list items on the page to be the color red.
// This does not work until AFTER the entire DOM is "ready", hence the $(document).ready()
$('li').css('color', 'red');
});
Псевдокод для этого блока:
Когда модель объекта документа $(document)
готова .ready()
, вызовите следующую функцию function() { }
. В этой функции проверьте все <li>
на странице $('li')
и используя метод jQuery.CSS(), чтобы установить свойство CSS "color" в значение "red" .css('color', 'red');
Ответ 5
Это ярлык для $(document).ready()
, который выполняется, когда браузер завершил загрузку страницы (что означает здесь, "когда DOM доступен" ). См. http://www.learningjquery.com/2006/09/introducing-document-ready. Если вы пытаетесь вызвать example()
до того, как браузер завершит загрузку страницы, это может не сработать.