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;
}
Если просто необходимо удостовериться, что новые функции инициализации выполняются, Вы ничего не должны делать. Когда Вы добавляете новый обработчик событий в $().ready
, после того, как документ закончит загружаться, он будет сразу работать.
, По-видимому, звоня $().trigger("ready")
непосредственно не работает, потому что jQuery сбрасывает готовые обработчики событий после того, как он выполняет их. Необходимо будет отслеживать функции, которые необходимо вызвать и назвать их непосредственно как ниже.
, Конечно, могло бы быть лучше просто вызвать функцию непосредственно, таким образом, Вы не повторно выполняете что-то, что Вы не предназначали к (некоторые плагины могли бы иметь свой собственный $ () .ready () функции, которые они не ожидают выполнять дважды).
$().ready(initializationFunction);
// later:
initializationFunction(jQuery);
Необходимо смочь с document.ready.apply ();
Aaron - что Вы попытались бы выполнить, повторно инициализировав переменные?
Отредактированный... Красота jQuery, по-моему, является вызовом, назад функционирует. Почему не только имеют некоторое действие/функцию, выполняемое после события.
Я вижу один сценарий, в котором это было бы очень полезно, то есть если вы откладываете загрузку jQuery до тех пор, пока все остальное не загрузится, а затем вы динамически добавляете новый элемент сценария для загрузки jQuery.
В этом случае $ (document) .ready не всегда запускается, поскольку во многих случаях документ будет полностью загружен до того, как jQuery завершит загрузку и установит правильные обработчики событий.
Вы можете использовать именованные функции и вызывать их вместо этого, но он все равно сломает любой плагин, который полагается на $ (document) .ready.
Частичная загрузка страницы ASP.Net UpdatePanel - это еще одно место, где может потребоваться повторный запуск функции загрузки, а не $ (). Ready
- правильное место сделать это. В этом случае вы можете использовать page_load или событие endrequest платформы MS.