/ / Posso emular um clique, no documento pronto, com jQuery? - jquery, manipulação de eventos

Posso emular um clique, no documento pronto, com jQuery? - jquery, manipulação de eventos

eu tenho esta código:

<a href="javascript:void(0)" id="0" class="hp_nav_label">0</a>
<a href="javascript:void(0)" id="1" class="hp_nav_label">1</a>
<a href="javascript:void(0)" id="2" class="hp_nav_label">2</a>
<a href="javascript:void(0)" id="3" class="hp_nav_label">3</a>
<a href="javascript:void(0)" id="4" class="hp_nav_label">4</a>

$(".hp_nav_label").click(function() {
alert($(this).attr("id"));
});

Quando clico em cada link, exibo seu id.

Agora, eu gostaria de, no documento pronto, "manipular" automaticamente o link com id=2, sem "clicar" nele.

Então, tendo uma espécie de emulação nesse link. É possível com jQuery?

Respostas:

8 para resposta № 1

Para acionar um evento, simplesmente chame a função de evento relevante em jQuery no elemento, sem nenhuma função de manipulador definida, assim:

$("#2").click();

Ou há também trigger(), que aceita o tipo de evento como um parâmetro:

$("#2").trigger("click");

No entanto, vale a pena notar que Id os atributos que começam com números são inválidos, então você provavelmente precisará alterar seus IDs para que eles funcionem corretamente.

Eu atualizei seu violino para corrigir os IDs e mostrar o código acima funcionando Aqui


1 para resposta № 2

Você pode usar trigger:

$("#2").trigger("click");

http://api.jquery.com/trigger/


1 para resposta № 3

Sim o .click() métodos é usado também para acionar o click evento.

$("#2").click();

Esta é uma forma abreviada de $("#2").trigger("click");.

Observe também que um ID não pode começar com um dígito.

documentação do jQuery para click()

documentação do jQuery para trigger()


1 para resposta № 4

Normalmente você poderia apenas chamar a mesma função que as chamadas de clique.

Você precisa de algo como o $ (this) para ser preenchido?


1 para resposta № 5

Você pode usar triggerHandler por esta:

$("#2").triggerHandler("click");