Cómo activar un clic en un enlace usando jQuery

Tengo un enlace:

 

y estoy intentando activarlo usando:

 $(document).ready(function() { $('#titleee').find('a').trigger('click'); }); 

Pero no funciona.

También he intentado: $('#titleee a').trigger('click');

Editar :

Debo activar cualquier cosa que se llame aquí

Si intentas desencadenar un evento en el anclaje, entonces el código que tienes funcionará recreé tu ejemplo en jsfiddle con un eventHandler añadido para que puedas ver que funciona:

 $(document).on("click", "a", function(){ $(this).text("It works!"); }); $(document).ready(function(){ $("a").trigger("click"); }); 

¿Intenta hacer que el usuario navegue hasta cierto punto en la página web al hacer clic en el delimitador o está intentando desencadenar eventos vinculados a él? ¿Tal vez no ha enlazado el evento click con éxito al evento?

También esto:

 $('#titleee').find('a').trigger('click'); 

es el equivalente de esto:

 $('#titleee a').trigger('click'); 

No es necesario llamar a find. 🙂

Lo sentimos, pero el controlador de eventos realmente no es necesario. Lo que necesita es otro elemento dentro de la etiqueta para hacer clic.

 TEST1 TEST2 

Jquery:

 $('#test1').trigger('click'); // Nothing $('#test2').find('span').trigger('click'); // Works $('#test2 span').trigger('click'); // Also Works 

Se trata de lo que está haciendo clic y no es la etiqueta, sino lo que está dentro de ella. Desafortunadamente, el texto sin formato no parece ser reconocido por JQuery, pero es por vainilla javascript:

 document.getElementById('test1').click(); // Works! 

O accediendo al objeto jQuery como una matriz

 $('#test1')[0].click(); // Works too!!! 

Con el código que proporcionó, no puede esperar que ocurra nada. Yo segundo @mashappslabs: primero agregue un controlador de eventos:

 $("selector").click(function() { console.log("element was clicked"); // or alert("click"); }); 

luego activa tu evento:

 $("selector").click(); //or $("selector").trigger("click"); 

y debería ver el mensaje en su consola.

Si está intentando activar un evento en el ancla, entonces el código que tiene funcionará.

 $(document).ready(function() { $('a#titleee').trigger('click'); }); 

O

 $(document).ready(function() { $('#titleee li a[href="#inline"]').click(); }); 

O

 $(document).ready(function() { $('ul#titleee li a[href="#inline"]').click(); }); 

Bueno, tienes que configurar el evento click primero, luego puedes activarlo y ver qué sucede:

 //good habits first let's cache our selector var $myLink = $('#titleee').find('a'); $myLink.click(function (evt) { evt.preventDefault(); alert($(this).attr('href')); }); // now the manual trigger $myLink.trigger('click'); 

Esta es la demostración de cómo desencadenar un evento

        

Para enlaces, esto debería funcionar:

 eval($(selector).attr('href')); 

Esto no responde exactamente a su pregunta, pero obtendrá el mismo resultado con menos dolor de cabeza.

Siempre tengo mis métodos de llamada de eventos de clic que contienen toda la lógica que me gustaría ejecutar. De modo que solo puedo llamar al método directamente si deseo realizar la acción sin un clic real.

Debería llamar al método nativo .click () del elemento o usar la API createEvent.

Para obtener más información, visite: https://learn.jquery.com/events/triggering-event-handlers/