Как вызвать $ (). Ready () в jQuery?

function getIndexByAttribute(list, attr, val){
    var result = null;
    $.each(list, function(index, item){
        if(item[attr].toString() == val.toString()){
           result = index;
           return false;     // breaks the $.each() loop
        }
    });
    return result;
}
13
задан Nathan Arthur 15 August 2017 в 14:51
поделиться

5 ответов

Если просто необходимо удостовериться, что новые функции инициализации выполняются, Вы ничего не должны делать. Когда Вы добавляете новый обработчик событий в $().ready, после того, как документ закончит загружаться, он будет сразу работать.

, По-видимому, звоня $().trigger("ready") непосредственно не работает, потому что jQuery сбрасывает готовые обработчики событий после того, как он выполняет их. Необходимо будет отслеживать функции, которые необходимо вызвать и назвать их непосредственно как ниже.

, Конечно, могло бы быть лучше просто вызвать функцию непосредственно, таким образом, Вы не повторно выполняете что-то, что Вы не предназначали к (некоторые плагины могли бы иметь свой собственный $ () .ready () функции, которые они не ожидают выполнять дважды).

$().ready(initializationFunction);

// later:
initializationFunction(jQuery);
26
ответ дан Nathan Arthur 16 August 2017 в 00:51
поделиться

Необходимо смочь с document.ready.apply ();

-2
ответ дан user64640 16 August 2017 в 00:51
поделиться
  • 1
    Это является очень очень полезной ссылкой на понимание шагов, сделанных в использовании этих операторов. Все еще doesn' t объясняют сумасшедшую логику, но meh... – Stephen 31 July 2010 в 01:29

Aaron - что Вы попытались бы выполнить, повторно инициализировав переменные?

Отредактированный... Красота jQuery, по-моему, является вызовом, назад функционирует. Почему не только имеют некоторое действие/функцию, выполняемое после события.

1
ответ дан RSolberg 16 August 2017 в 00:51
поделиться
  • 1
    Ничего себе, спасибо за комментарии @LesterPeabody. I' ll должны посмотреть на файл снова для проверения этого дважды. Я забыл, каково это должно быть. – Jerry Saravia 7 February 2013 в 07:49

Я вижу один сценарий, в котором это было бы очень полезно, то есть если вы откладываете загрузку jQuery до тех пор, пока все остальное не загрузится, а затем вы динамически добавляете новый элемент сценария для загрузки jQuery.

В этом случае $ (document) .ready не всегда запускается, поскольку во многих случаях документ будет полностью загружен до того, как jQuery завершит загрузку и установит правильные обработчики событий.

Вы можете использовать именованные функции и вызывать их вместо этого, но он все равно сломает любой плагин, который полагается на $ (document) .ready.

0
ответ дан 1 December 2019 в 19:32
поделиться

Частичная загрузка страницы ASP.Net UpdatePanel - это еще одно место, где может потребоваться повторный запуск функции загрузки, а не $ (). Ready - правильное место сделать это. В этом случае вы можете использовать page_load или событие endrequest платформы MS.

-1
ответ дан 1 December 2019 в 19:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: