¿Cómo cargar un script jQuery al final?

2

¿Cómo hacer que esto se cargue por última vez?

 <script type="text/javascript">
  jQuery(document).ready(function(){
   jQuery("div.domTip_tipBody").mouseover(function(){
   jQuery("#yyy a.tippy_link").css("background-color","yellow");});  

   jQuery("div.domTip_tipBody").mouseout(function(){
   jQuery("#yyy a.tippy_link").css("background-color","red");
 }); 
 });  
 </script>

Se está ejecutando antes de que se esté ejecutando "div.domTip_tipBody" (que se genera mediante un código abreviado) para que no pase nada.

Lo he intentado:

<script src="script.js" type="text/javascript" defer="defer"></script>

en mi header.php anterior

</head> 

pero no ayuda.

He visto "window.onload=" pero no estoy seguro de cómo aplicarlo.

Cualquier percepción es apreciada.

Gracias

    
pregunta xyz 02.04.2012 - 05:30

5 respuestas

0
add_action('wp_footer','myscript_in_footer');
function myscript_in_footer(){
?>
<script type="text/javascript">
  jQuery(document).ready(function(){
   jQuery("div.domTip_tipBody").mouseover(function(){
   jQuery("#yyy a.tippy_link").css("background-color","yellow");});  

   jQuery("div.domTip_tipBody").mouseout(function(){
   jQuery("#yyy a.tippy_link").css("background-color","red");
 }); 
 });  
 </script>
<?php
}
    
respondido por el Rajeev Vyas 02.04.2012 - 08:56
5
  1. Coloque el código dentro de un archivo llamado your_name.js .
  2. Agregue lo siguiente a su archivo functions.php :

    function wpse47618_load_script_last()
    {
        wp_enqueue_script( 'zzz_your_name', get_stylesheet_directory_uri().'your_name.js', array( 'jquery' ), '0', true );
    }
    add_action( 'wp_enqueue_scripts', 'wpse47618_load_script_last', 99999 );
    
  3. Verifique el código fuente de sus páginas si la secuencia de comandos se agregó correctamente y si la ruta al archivo es correcta. Si usa FireBug u otras herramientas de desarrollo, haga clic en el nombre del archivo y vea si el contenido del script está allí.
  4. has terminado.
respondido por el kaiser 02.04.2012 - 06:09
1

Esto parece un problema de delegación de eventos jQuery. Si los nuevos elementos DOM se agregan después de que la página se haya cargado, jQuery no los leerá. Por lo tanto, debe indicar a jQuery de antemano que vincule un evento si tal elemento existe ahora o en el futuro.

prueba $.delegate('div.domTip_tipBody','mouseover', function(e){ jQuery("#yyy a.tippy_link").css("background-color","yellow");}); });

Consulte enlace , enlace

    
respondido por el rashid 03.04.2012 - 15:31
0

Puedes simplemente agregar el script a footer.php y probablemente funcionará, pero no es la mejor manera de evitar conflictos de jQuery.

La mejor manera es poner en cola el script desde un archivo separado. Consulte enlace que tiene un parámetro para cargar scripts en pie de página a través de wp_footer.

Y consulte la Guía para desarrolladores de JavaScript y CSS sin conflictos en WordPress: enlace

    
respondido por el markratledge 02.04.2012 - 05:58
0

Esto podría ser un "poco" tarde, pero en caso de que alguien todavía esté mirando:

enlace

¡Una forma agradable y sencilla de hacerlo!

    
respondido por el Sam 29.10.2013 - 16:38

Lea otras preguntas en las etiquetas