Eu tenho um link:
<ul id="titleee" class="gallery">
<li>
<a href="#inline" rel="prettyPhoto">Talent</a>
</li>
</ul>
e estou tentando acioná-lo usando:
$(document).ready(function() {
$('#titleee').find('a').trigger('click');
});
Mas isso não funciona.
Eu também tentei: $('#titleee a').trigger('click');
Editar :
Na verdade, eu preciso acionar o que for chamado aqui <a href="#inline" rel="prettyPhoto">
location.href($('#titleee').find('a').attr("href"));
?$('#titleee a')[0].click();
. Em outras palavras, use o método de clique no DOM, não o método jQuery. Voto por favor Graham Hotchkiss !$('ul#titleee li a[href="#inline"]').click();
Respostas:
Se você estiver tentando disparar um evento na âncora, o código que você possui funcionará. Recriei seu exemplo no jsfiddle com um eventHandler adicionado, para que você possa ver que funciona:
Você está tentando fazer com que o usuário navegue para um determinado ponto da página da Web clicando na âncora ou tentando desencadear eventos vinculados a ela? Talvez você não tenha vinculado o evento de clique com êxito ao evento?
Também isto:
é o equivalente a isso:
Não há necessidade de ligar para encontrar. :)
fonte
Desculpe, mas o manipulador de eventos realmente não é necessário. O que você precisa é de outro elemento na tag para clicar.
Jquery:
É tudo sobre o que você está clicando e não é a tag, mas a coisa dentro dela. Infelizmente, o texto puro não parece ser reconhecido pelo JQuery, mas é pelo javascript vanilla:
Ou acessando o objeto jQuery como uma matriz
fonte
.click()
é precisamente o que eu precisava!Como esta pergunta está classificada como nº 1 no Google por "acionar um clique em um
<a>
elemento" e nenhuma resposta realmente menciona como você faz isso, é assim que você faz:Explicação: você aciona um
click
no elemento html subjacente, não no objeto jQuery .De nada googlers :)
fonte
Com o código que você forneceu, você não pode esperar que nada aconteça. Eu segundo @mashappslabs: primeiro adicione um manipulador de eventos:
em seguida, acione seu evento:
e você deverá ver a mensagem no seu console.
fonte
trigger
, mas a ação da tag não acontece. É como se o evento não fosse propagado para o elemento DOM associado. A resposta de @GrahamHotchkiss é a única que funciona de maneira confiável para mim.Se você estiver tentando disparar um evento na âncora, o código que você possui funcionará.
OU
OU
fonte
Bem, você deve primeiro configurar o evento click e acioná-lo e ver o que acontece:
fonte
Esta é a demonstração de como acionar o evento
fonte
Para links, isso deve funcionar:
fonte
Isso não responde exatamente à sua pergunta, mas você obtém o mesmo resultado com menos dor de cabeça.
Sempre tenho meus eventos de clique que chamam métodos que contêm toda a lógica que gostaria de executar. Para que eu possa chamar o método diretamente se quiser executar a ação sem um clique real.
fonte
Você deve chamar o
.click()
método nativo do elemento ou usar o métodocreateEvent
API.Para mais informações, visite: https://learn.jquery.com/events/triggering-event-handlers/
fonte