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 № 1Para 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");