$ (Document) .ready nella pagina ascx dopo callback ajax
-
21-08-2019 - |
Domanda
Sto avendo un piccolo problema con questa configurazione qui ho un elenco di file .ascx
e fanno tutti i diversi compiti in termini di calcoli al controller stesso. Quindi, sulla mia pagina di .aspx
clicco su un Ajax.ActionLink()
e questo renderò quel file specifico onclick
basato sulla voce ho cliccato. All'interno di tale onload
sono di 1-3 eventi che Fire 2 di loro sono onclick="$("#toggleMe3").slideToggle("slow");"
eventi e 1 è $(document).ready(function(){});
. L'evento onprerender
(s) sono più facili da lavorare in termini di I può hardcode direttamente in caso controlli in questo modo <=> e la <=> deve eseguire quando la <=> viene caricato stavo testando questo in un <=> chiamata, questo funziona bene nel <=> pagina, ma non appena provo aggiungendolo nella <=> pagina non caricare e il suo ideale che questo funziona, ma non ho idea perché non. In realtà nulla nei tag di script funziona se inserisco direttamente nella pagina <=> funzionano solo se hardcoded in eventi del controllo, così alcuni di loro almeno; il <=> e <=> Non sparare.
Soluzione
Ho avuto lo stesso problema, dopo che lo script postback parziale specificato nel $ (document) .ready non è stato eseguito. Ho trovato la soluzione qui MSDN - PageRequestManager Classe
Sembra che l'aggiunta di uno script come di seguito risolve il problema
<script type="text/javascript">
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(myReadyFunction);
</script>
Altri suggerimenti
Ho avuto successo utilizzando $ (document) .ready nei miei parziali che vengono caricati tramite XHR. Sono i punti di vista che si carica tramite XHR gettando le eccezioni JavaScript? O non contengono HTML malformato?
Io di solito ho il mio $ (document) Metodo .ready in fondo alla mia parziale, che si carica tramite Ajax, come ...
<script type="text/javascript">
$(document).ready(function(){ callMyFunction(); });
</script>
Ho avuto un momento difficile capire la tua domanda ... ma qui va.
Se si sta caricando data utilizzando chiamate AJAX, l'evento $ (document) .ready () non sarà il fuoco - perché la pagina è stata già caricato. Si sono appena caricando più dati ora.
Se si conosce già i controlli che cosa sarà inserito, pre-caricare il JavaScript, ma invece di legame con il gestore di eventi click, utilizzare il gestore dal vivo.
così
$("#myControl").click(....);
si trasforma in
$("#myControl").live("click", ....);
Scusate se questo non è quello che stavate cercando.