/ / Por que esse script básico não está funcionando [fechado] - javascript, jquery, jquery-ui

Por que um script tão básico não está funcionando [fechado] - javascript, jquery, jquery-ui

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 № 1

Para 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;
});
​

Exemplo de trabalho


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.

DEMO

Para abrir em uma nova janela, faça o seguinte:

$("#link").on("click", function() {
window.open(this.herf,this.target);
});

DEMO


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
});