forzando un bloque preparado de jQuery para ejecutarse después de todos los otros bloques listos

¿Es posible tener un bloque preparado para jQuery después de que todos los demás lo hayan hecho?

Tengo esto en mi página principal …

 $(document).ready(function() { $("input[type='text']:enabled:first", document.forms[0]).focus().select(); });  

Y esto en una de mis otras páginas …

  $(document).ready(function() { $('textarea.message-body').wysiwyg(); });  

El problema que estoy viendo es que el primer bloque se ejecuta antes que el segundo bloque, lo que está causando un problema con la tecla de tabulación. Lo que sucede es que el foco del teclado va a la barra de direcciones de mi navegador cuando presiono la tecla de tabulación. He cambiado un poco el código para tener esto en mi página maestra …

  $(document).ready(function() { var bodies = $('textarea.message-body'); if (bodies.length > 0) { bodies.wysiwyg(); } $("input[type='text']:enabled:first", document.forms[0]).focus().select(); });  

y acabar con el otro bloque listo por completo. Al hacerlo, la tecla de tabulación funciona correctamente y establece el foco en mi área de texto.

Prefiero no tener un código específico de página en mi página maestra.

Entonces, ¿hay alguna manera de hacer que mi código de enfoque de cuadro de texto se ejecute después del código wysiwyg?

$(window).load() después de $(document).ready()

Agrega un evento personalizado a tu página maestra:

  

Y atarlo a la otra página:

  

Referencias

  • Eventos especiales de jQuery … Virtualmente, no en la vida real

  • Cómo crear eventos personalizados en JavaScript

  • AOP Aspect of JavaScript

Esta es la solución con la que fui.

En mi página principal tengo esto …

  

y en mis páginas de detalles tengo esto …

  

¿Qué tal si solo registra solo un documento.ready () en la página maestra y luego deja que ese código ejecute el código basado en una variable? Esta solución no es tan elegante, pero la búsqueda de sincronización de subprocesos de JavaScript realmente no se convirtió en nada.

Puede cambiar el código en la página maestra para:

  

Y pon este script en tu página: