jQuery nyromodal + ASP.Net + UpdatePanel / AJAX - endShowContent non funziona, sfarfalla, perde l'attivazione
-
21-08-2019 - |
Domanda
Sto usando il plugin jQuery nyroModal all'interno di ASP.Net. Amo nyroModal, e in generale il suo lavoro molto bene.
Ma io sto usando il callback endShowContent per impostare il fuoco al primo elemento di input di testo sul contenuto della pagina dopo nyromodal è terminato il caricamento. Per raggiungere questo obiettivo ho il seguente codice nella pagina che avvia il popup nyromodal.
$ (function () { $ .Fn.nyroModal.settings.endShowContent = function (elt, impostazioni) {$ ( 'ingresso: Testo: in primo luogo', elt.content) .focus (); }; });
posso dire il suo tipo di lavorazione, perché il primo campo di testo non momentaneamente ottenere messa a fuoco quando viene visualizzato il modale. Ma allora che tipo di sfarfallio e perde il focus di nuovo. E 'quasi come se nyromodal decide che ancora non è a pieno carico e qualcos'altro accade per distogliere l'attenzione indietro. O forse è l'UpdatePanel interferenti? (Non so il motivo per cui sarebbe). E 'probabile che le chiamate AJAX JS generate automaticamente mastodontiche del UpdatePanel stanno facendo qualcosa dopo la chiamata di endShowContent nyromodal succede?
Qualsiasi aiuto o intuizione apprezzato.
Soluzione
Ho cercato di ricreare il problema qui: http://jsbin.com/igibo
Non riesco a riprodurre il problema, in modo da sto indovinando c'è qualcos'altro nel codice che causa il problema.
Prova a modificare la ricreazione tramite http://jsbin.com/igibo/edit per duplicare il problema, allora possiamo risolvere da lì.
P.S. Anche se è grande che si sta affinando il problema, si prega di aggiornare la questione invece di aggiungere ulteriori informazioni a nuove risposte. (Non sono tecnicamente risposte)
Altri suggerimenti
Hai provato avvolgendo il codice in
$(document).ready(function() {
// put all your jQuery goodness in here.
});
JQuery Documento pronto Tutorial
E 'possibile il DOM non è ancora completamente caricata.
Grazie brianpeiris! Non ci crederai, mi sento male.
Ho ricevuto il tuo codice che jsbin e copiato a livello locale, così ho avuto la tua parte di codice riportato a fianco con le mie pagine di prova. Nelle mie pagine di prova, stavo usando un vecchio modo di lanciare un nyromodal, che era:
<a href="modal.html" target="_blank" class="nyroModal">Launch modal</a>
Ho trovato questo codice in tutto il web negli esempi e così via. Ma sembra che debba essere una vecchia / malfamata modo / superata di lanciare un modello popup con nyromodal!
ho semplicemente fatto che un normale collegamento ipertestuale / pulito e rimosso la classe e bersaglio spazzatura, poi utilizzato lo stesso stile che mi ha inviato:
$('a').nyroModal();
Ora tutti i miei problemi sono andati. Questo ha sistemato tutto! :) Anche l'animazione della apertura della finestra è molto più agevole.
Grazie mille. Ho trovato un po 'di documentazione incoerente per questo plugin. Lei mi ha aiutato puntare nella giusta direzione. Utilizzando questo modo, la messa a fuoco funziona perfettamente e molto agevolmente pure.
Saluti