Это частично вопрос jquery, но большинство javascript. Я просто не знаю javascript достаточно хорошо, чтобы понять этот код:Понимание этой функции jquery javascript в функции snippet
1 (function() {
2 $(function() {
3 //Global ajax progress dialog box
4 //Simply run $("#ajax-progress-dialog").dialog("open"); script before the ajax post and
5 //$("#ajax-progress-dialog").dialog("close"); on the ajax post complate
6 $("#ajax-progress-dialog").dialog({
7 autoOpen: false,
8 draggable: false,
9 modal: true,
10 height: 80,
11 resizable: false,
12 title: "Processing, please wait...",
13 closeOnEscape: false,
14 open: function() { $(".ui-dialog-titlebar-close").hide(); } // Hide close button
15 });
16 });
17 })();
Я понимаю строки 3-15. На самом деле, я думаю, что я понимаю строки с 2 по 16: это создает анонимную функцию и обертывает ее как объект jquery, правильно? Не уверен, зачем это нужно обернуть, но что более важно, я особенно не понимаю строки 1: открывается с помощью «(функция» и 17: закрывается с «)()». Что это значит?
Кстати, для полноты картины, обратите внимание, что это вызывается следующим образом:.
$ ("# Аякс-прогресс-диалог") диалог ("открыто");
Credit: этот пример из tugberkugurlu
На самом деле, я думаю, вы можете продолжить и удалить строки 1 и 17, так как это то же самое, что и строки 2 и 16. Не знаю, почему они поместили его дважды – Tom
Довольно точно, что это было задано несколько раз , Google «самостоятельно вызывает анонимную функцию». Позвольте мне попытаться найти дубликат. – Anurag