E 'possibile avere un blocco jQuery ready eseguito dopo che tutti gli altri lo hanno fatto.forzare un blocco jQuery ready da eseguire dopo tutti gli altri blocchi pronti
ho questo nella mia pagina master ...
<script type="text/javascript">
$(document).ready(function()
{
$("input[type='text']:enabled:first", document.forms[0]).focus().select();
});
</script>
e questo in una delle mie altre pagine ...
<script type="text/javascript">
$(document).ready(function()
{
$('textarea.message-body').wysiwyg();
});
</script>
Il problema che sto vedendo è che il primo blocco è eseguito prima del secondo blocco, che causa un problema con il tasto tab. Quello che sta succedendo è che l'attenzione della tastiera si sposta sulla barra degli indirizzi nel mio browser quando premo il tasto Tab. Ho modificato leggermente il codice per avere questo nella mia pagina principale ...
<script type="text/javascript">
$(document).ready(function()
{
var bodies = $('textarea.message-body');
if (bodies.length > 0)
{
bodies.wysiwyg();
}
$("input[type='text']:enabled:first", document.forms[0]).focus().select();
});
</script>
e eliminare completamente l'altro blocco pronto. In questo modo il tasto Tab funziona correttamente e imposta lo stato attivo sulla mia textarea.
Preferisco non avere codice specifico per la pagina nella mia pagina principale.
Quindi, c'è un modo per far funzionare il mio codice di messa a fuoco del textbox dopo il codice wysiwyg?
Grazie, mi piacerebbe una sorta di ottenuto la stessa soluzione. Sono andato per avere una funzione OnLoad() nella mia pagina, con questo nel master ... –
Ho cercato un po 'di più per una soluzione generale sul problema di sincronizzazione e ho scoperto che JavaScript non è multithread: http://stackoverflow.com/questions/39879/why-doesnt-javascript-support-multithreading –
Non vedrai qualsiasi cosa su "Sincronizzazione thread JavaScript" perché i motori JS nel browser sono tutti a thread singolo. –