Нет, функция не будет выполнена.
Есть несколько ошибок:
$ (document) .ready () принимает функцию в качестве аргумента.
'#foo' также должен быть строкой.
$(document).ready(function() {
$('#foo').click(
function()
{
// "It reached here after DOM is loaded!"
}
)
})
Если вы хотите, чтобы функция была оценена хотя бы один раз, после загрузки DOM. Тогда, вероятно, самый простой способ - назвать вашу функцию.
например:
$(document).ready(function() {
$('#foo').click(
function myfunction()
{
// "It reached here after DOM is loaded!"
}
);
myfunction();
})
Если вам нужно, чтобы функция выполнялась в области $ ('# foo'), вы можете сделать это с помощью метода Function.call ().
например:
$(document).ready(function() {
$('#foo').click(
function myfunction()
{
// "It reached here after DOM is loaded!"
}
);
myfunction.call($('foo'));
})
Это сделало бы его поведение более похожим на то, как оно было вызвано событием DOM. Я уверен, что JQuery имеет особый метод запуска события, зарегистрированного через его функции событий DOM. Это также было бы возможностью использовать это, поскольку это, вероятно, также эмулировало бы Объект события, переданный "myfunction".