Heim >Web-Frontend >js-Tutorial >js simulieren Klickereignisse

js simulieren Klickereignisse

一个新手
一个新手Original
2017-09-25 09:53:575288Durchsuche

Nach dem Laden der Seite treten häufig Verknüpfungsprobleme auf. Zu diesem Zeitpunkt ist es erforderlich, das erste Klickereignis nach dem Laden der Seite automatisch auszulösen, damit nachfolgende Verknüpfungen auf der Webseite angezeigt werden können.
Sie können die
Trigger-Methode in js verwenden

$("selector").trigger("click");

Zum Beispiel habe ich in meinem Code zuerst ein Klickereignis zum li in der ul hinzugefügt und dann das Auslösen des Ereignisses simuliert.

    $(".place-classify ul").on("click","li",function(){
        var placeName = $(this).html();
       createPlaceContent(placeName) ;
    });
    $(".place-classify ul li:first-child").trigger('click');

Aber manchmal wird das Simulationsereignis nicht ausgelöst. Im Allgemeinen können zwei Probleme auftreten:

  1. Das Simulationsklickereignis wird vor dem Klickereignis geschrieben .
    Manche Leute denken, dass dies ausgelöst wird, nachdem die Seite geladen wurde, insbesondere wenn sie in $(function(){}); geschrieben ist, sie zuerst gerendert und dann ausgelöst wird. Wenn jedoch eine Seite geöffnet wird, werden die Elemente der gesamten Seite gerendert Zuerst, nicht der js-Code, js-Code Es wird immer noch einzeln ausgeführt. Wenn also der simulierte Klick vorne geschrieben wird, wird er zuerst ausgelöst und dann deklariert, sodass er keine Wirkung hat. Verschieben Sie ihn einfach nach hinten des Klickereignisses.

  2. Das Klickereignis wurde nach hinten verschoben, aber immer noch nicht ausgelöst, daher kann es an einem asynchronen Laden liegen. Da Ihre Webseite asynchron geladen wird, geschieht dies, weil die Daten vorhanden sind Das Klickereignis wurde noch nicht verarbeitet. Ebenso wird das Klickereignis ausgelöst, bevor die dynamisch generierten Elemente generiert werden. Die Lösung besteht darin, die Ajax-Anfrage in eine synchrone Anfrage umzuwandeln. $.ajax({ <code>$.ajax({ <br>        url:url, <br>        data:data, <br>        async:false, <br>        success:function(result){ <br>            handle(result); <br>        }, <br>        error:function(result){ <br>            alert("获取数据失败"); <br>        } <br>    }); URL:URL,

    Daten:Daten,
  3. async:false,
Erfolg:Funktion(Ergebnis){             handle(result); }, Fehler:function(result){ Alert("Daten konnten nicht abgerufen werden");       } });

Das obige ist der detaillierte Inhalt vonjs simulieren Klickereignisse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn