Tengo un enlace:
<ul id="titleee" class="gallery">
<li>
<a href="#inline" rel="prettyPhoto">Talent</a>
</li>
</ul>
y estoy tratando de activarlo usando:
$(document).ready(function() {
$('#titleee').find('a').trigger('click');
});
Pero no funciona.
También he intentado: $('#titleee a').trigger('click');
Editar :
De hecho, necesito activar lo que se llame aquí <a href="#inline" rel="prettyPhoto">
location.href($('#titleee').find('a').attr("href"));
?$('#titleee a')[0].click();
. En otras palabras, use el método de clic DOM, no el jQuery. ¡Vota Graham Hotchkiss !$('ul#titleee li a[href="#inline"]').click();
Respuestas:
Si está intentando desencadenar un evento en el ancla, entonces el código que tiene funcionará. Volví a crear su ejemplo en jsfiddle con un eventHandler agregado para que pueda ver que funciona:
¿Está tratando de hacer que el usuario navegue a un cierto punto en la página web haciendo clic en el ancla, o está tratando de activar eventos vinculados a él? ¿Quizás no ha vinculado el evento de clic con éxito al evento?
También esto:
es el equivalente de esto:
No es necesario llamar a buscar. :)
fuente
Lo sentimos, pero el controlador de eventos realmente no es necesario. Lo que necesita es otro elemento dentro de la etiqueta para hacer clic.
Jquery:
Esto se trata de lo que está haciendo clic y no es la etiqueta sino lo que contiene. Desafortunadamente, JQuery no parece reconocer el texto sin formato, pero sí lo es mediante javascript vainilla:
O accediendo al objeto jQuery como una matriz
fuente
.click()
eso es precisamente lo que necesitaba!Dado que esta pregunta ocupa el puesto número 1 en Google por "activar un clic en un
<a>
elemento" y ninguna respuesta menciona realmente cómo lo hace, así es como lo hace:Explicación: activa un
click
elemento html subyacente, no el objeto jQuery .De nada googlers :)
fuente
Con el código que proporcionó, no puede esperar que pase nada. Segundo @mashappslabs: primero agrego un controlador de eventos:
luego active su evento:
y deberías ver el mensaje en tu consola.
fuente
trigger
, pero la acción de la etiqueta no ocurre. Es como si el evento no se propagara al elemento DOM asociado. La respuesta de @GrahamHotchkiss es la única que funciona de manera confiable para mí.Si está intentando desencadenar un evento en el ancla, el código que tenga funcionará.
O
O
fuente
Bueno, primero debe configurar el evento de clic y luego puede activarlo y ver qué sucede:
fuente
Esta es la demostración de cómo activar un evento
fuente
Para los enlaces esto debería funcionar:
fuente
Esto no responde exactamente a su pregunta, pero le dará 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. Para que pueda llamar al método directamente si quiero realizar la acción sin un clic real.
fuente
Debe llamar al
.click()
método nativo del elemento o usar lacreateEvent
API.Para obtener más información, visite: https://learn.jquery.com/events/triggering-event-handlers/
fuente