2013-08-16 3 views
2

Это такой тривиальный вопрос, у меня есть эта функция ...Кратчайший способ стрельбы функцию готова с JQuery

galleryAjax(); 

И я хотел бы стрелять на документ готов. Но в настоящее время я пишу это так ...

jQuery(document).ready(function($) { 
    galleryAjax(); 
}); 

Это только кажется, немного длинная рука и мне интересно, если есть короткое замыкание способ написания этого.

Благодаря
Джош

ответ

4

Вы можете непосредственно передать функцию в JQuery:

$(galleryAjax); 

От .ready documentation:

Все три следующих синтаксисов эквивалентны:

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler) 

Конечно, если вы хотите выполнить больше функций на DOM ready, имеет смысл передать анонимную функцию:

$(function() { 
    galleryAjax(); 
    // other functions are called here 
}); 
+0

+1 для получения более подробной информации, чем простой ответ –

+0

Спасибо, Феликс. +1 – Joshc

+1

Не можете ли вы просто поместить 'galleryAjax();' в теге скрипта в конце '' -tag, даже не передав его jQuery? – insertusernamehere

-1

Это единственные стенографии, что я знаю.

$(document).ready(function(){ 
    galleryAjax(); 
}); 
0

Как все просто:

$(function() { 
    galleryAjax(); 
}); 

Кроме того я не понимаю смысла function($){ что вы написали ...

+1

JQuery передает ссылку на себя в «готовый» обратный вызов. Если вы используете jQuery в режиме noConflict, вы все равно можете ссылаться на jQuery с '$', указав первый параметр обратного вызова как '$'. –

0

Как указано в here

Все три следующие синтаксисы эквивалентны:

$(document).ready(handler) 
$().ready(handler) (this is not recommended) 
$(handler);//May be this is what you are looking for 
+0

да, это всего лишь короткая рука –

2

Вы можете сделать это так же просто, как показано ниже

$(galleryAjax); 

или

jQuery(galleryAjax); 

$ можно просто использовать вместо JQuery

+0

Добро пожаловать! @Felix Kling объяснил это лучше. –

Смежные вопросы