Что такое $(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() до того, как браузер завершит загрузку страницы, это может не сработать.