ホームページ  >  記事  >  ウェブフロントエンド  >  jsでクリックイベントをシミュレート

jsでクリックイベントをシミュレート

一个新手
一个新手オリジナル
2017-09-25 09:53:575243ブラウズ

ページが読み込まれた後、リンクの問題が頻繁に発生します。このとき、後続のリンクを Web ページ上に表示できるように、ページが読み込まれた後に最初のクリック イベントを自動的にトリガーする必要があります。
js で
trigger メソッドを使用できます

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

たとえば、私のコードでは、最初にクリック イベントを ul の li に追加し、次にこのイベントのトリガーをシミュレートしました。

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

しかし、シミュレートされたイベントがトリガーされない場合があります。一般に、次の 2 つの問題が発生する可能性があります:

  1. シミュレートされたクリック イベントがクリック イベントの前に書き込まれます。
    最初にレンダリングされてからトリガーされると書かれている場合は特に、これはページが読み込まれた後にトリガーされると考える人もいますが、ページが開かれると、ページ全体の要素が最初にレンダリングされます。 js コードは 1 つずつ書かれたままになります。シミュレートされたクリックが最初にトリガーされてから宣言されるため、クリック イベントの後ろに移動するだけです。 $(function(){});

  2. クリックイベントは後ろに移動されましたが、まだトリガーされていないため、Webページが非同期で読み込まれるため、データが処理される前にクリックイベントが発生する可能性があります。動的に適用されます。クリック イベントは、生成された要素が生成される前にトリガーされました。解決策は、ajax リクエストを同期リクエストに変更することです。

    $.ajax({ URL:URL、<br> データ:データ、<br> 非同期: false、<br> 成功:function(result){<br> ハンドル(結果); }、<br> エラー:関数(結果){ <br> alert("データの取得に失敗しました"); } <br> });<br><br><br>

以上がjsでクリックイベントをシミュレートの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。