/ / Warum ein solches Basisskript nicht funktioniert [closed] - javascript, jquery, jquery-ui

Warum funktioniert so ein einfaches Skript nicht [geschlossen] - Javascript, jquery, jquery-ui

Hier mache ich ein einfaches Trigger-Beispiel, aber jquery kann es nicht ausführen. Ich weiß, dass jquery einige Probleme mit solchen Triggern hat, aber es gibt keine Lösung dafür.

Demo von Code: jsfiddle

Antworten:

1 für die Antwort № 1

Gehen Sie folgendermaßen vor, um ein Klickobjekt auszulösen:

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

Dies funktioniert allerdings nur, wenn die click () - Funktion bereits von jQuery gebunden wurde, aber möglicherweise das ist, wonach Sie suchen.

Andernfalls, wenn Sie versuchen, ein neues Fenster mit Javascript zu öffnen, verwenden Sie window.open("url","_blank","width=100,height=100");

Anstatt von window.location Wie die anderen gepostet haben, wird dies nicht in einem neuen Zielfenster geöffnet.

Zusätzlich zu können Sie für das sich öffnende Fenster viele weitere Attribute festlegen width und height im obigen Beispiel.


1 für die Antwort № 2

Es gibt kein Problem mit jQuery oder trigger.

Damit jQuery Ihren Link auslöst, jQuery muss wissen, dass Sie Ihrem Link zuerst einen Klick-Handler zuweisen:

$("#link").click(function(){
window.location = this.href;
});
​

Arbeitsbeispiel


1 für die Antwort № 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");

});

Hinweis

Das Klicken ist kein Standardverhalten für das Ankern von Tags.Wenn Sie also etwas möchten, was Sie tun möchten, müssen Sie dem Anker zuvor einen Klickereignishandler zuweisen und dann dieses Ereignis auslösen. Und ein wichtiger Gedanke ist, dass jquery vor dem Auslösen eines Ereignisses durch jquery über dieses Ereignis informieren sollte.

DEMO

Um in einem neuen Fenster zu öffnen, gehen Sie wie folgt vor:

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

DEMO


0 für die Antwort № 4

Es ist wichtig, sich daran zu erinnern, dass click () dies nicht tutLösen Sie das Standardverhalten für einen Link aus, auch wenn nichts anderes dies verhindert. Sie können click () also nicht alleine verwenden, um zu simulieren, dass der Benutzer auf einen Link klickt und zu einer anderen URL weitergeleitet wird.

Aus diesem Grund müssen Sie einen Ereignishandler an den anhängen link um das Klick-Ereignis zu behandeln

$("#link").click(function(){
// navigate to page
});