Aqui estou fazendo um exemplo de gatilho básico, mas jquery não é capaz de executá-lo. Eu sei que jquery tem alguns problemas com esse tipo de gatilho, mas não há qualquer solução para o mesmo.
Demonstração do código: jsfiddle
Respostas:
1 para resposta № 1Para acionar um objeto de clique, basta fazer o seguinte:
$("#link").click();
No entanto, isso só funcionará se a função click () já tiver sido vinculada pelo jQuery, mas pode ser o que você está procurando.
Caso contrário, se você estiver tentando abrir uma nova janela usando javascript, use window.open("url","_blank","width=100,height=100");
Ao invés de window.location
como os outros postaram, isso não será aberto em uma nova janela de destino.
Existem também muitos outros atributos que você pode definir para a janela de abertura, além de width
e height
no exemplo acima.
1 para resposta № 2
Não há problema com jQuery ou trigger
.
Para que o jQuery acione seu link, A jQuery precisa saber que você primeiro atribui um manipulador de cliques ao seu link:
$("#link").click(function(){
window.location = this.href;
});
1 para resposta № 3
// you have to assign a click event handler for anchor tag
$("#link").on("click", function() {
window.location = this.href;
});
$("#btn").click(function(){
$("#link").trigger("click"); // or $("#link").click();
alert("I am alerting but link is not triggered");
});
Nota
Clicar não é o comportamento padrão para ancorar a tag.Portanto, se você deseja algo o que deseja fazer, deve atribuir o manipulador de eventos de clique para ancorar anteriormente e, em seguida, acionar esse evento. E um pensamento importante é que antes de acionar qualquer evento pelo jquery, o jquery deve informar sobre esse evento.
Para abrir em uma nova janela, faça o seguinte:
$("#link").on("click", function() {
window.open(this.herf,this.target);
});
0 para a resposta № 4
É importante lembrar que click () nãoacionar o comportamento padrão em um link, mesmo se nada mais estiver impedindo isso. Portanto, você não pode usar click () sozinho para simular o usuário clicando em um link e sendo levado para outra url.
É por isso que você precisa anexar um manipulador de eventos ao link
para lidar com o evento de clique
$("#link").click(function(){
// navigate to page
});