all'interno di una funzione successo $ GetJSON, in primo luogo ho scatenare l'evento click di un altro elemento:
$('#' + data[0].ID).trigger('click');
L'evento click attivato ha un proprio metodo di $ GetJSON per caricare un po 'di dati in div. La riga successiva dopo l'evento innescata: In un primo momento il $ .each non sembra
$.each(data[0].ListEntries, function (key, val) {
//this relies on the triggered click event
//having completely loaded all data!
}
di fare qualsiasi cosa, ma ho aggiunto un diritto di allarme dopo l'evento innescata. Dopo aver risposto all'avviso, il codice in $ .each mostra come dovrebbe.
Immagino che $ .each sia in esecuzione prima che l'evento click finisca di caricare i dati.
setTimeout pausa abbastanza a lungo per l'evento click per caricare i dati, ma preferisco non impostare un tempo arbitrario:
setTimeout(function() {
$.each(data[0].ListEntries, function (key, val) {
//this relies on the triggered click event
//having completely loaded all data!
}
}, 1000);
Ho anche provato $ .quando e $ .poi senza alcun risultato (anche se l'aggiunta di avviso prima di $ .each all'interno $ .then crea ritardo per $ .each al lavoro):
$.when($('#' + data[0].ID).trigger('click')).then(function() {
$.each(data[0].ListEntries, function (key, val) {
//this relies on the triggered click event
//having completely loaded all data!
})
event.preventDefault() nell'evento click innescato sta dicendo "L'oggetto non supporta questa proprietà o metodo". Il codice che imposta l'evento click è: $ ("img.Button"). On ("click", function() {GetModels (this.id);}); Questo è ciò che popola i div con i dati necessari per il codice OP. Qualcosa qui deve cambiare? –
OK, per un img '.preventDefault()' non è necessario in quanto img non ha azioni predefinite, quindi la riga può essere cancellata. Per completezza sopra, l'ho lasciato, ma ho aggiunto un po 'di sicurezza per evitare l'errore. –
Dang, ancora no go. Il $ dipendente non è ancora in attesa del completamento del clic. Penso che dovrò trovare un altro metodo per popolare questi dati dipendenti. –