場合によっては、クリック効果を実現するためにユーザー操作をシミュレートする必要があります。たとえば、ユーザーがページに入った後、ユーザーが積極的にクリックしなくても、クリック イベントがトリガーされます。 JQuery では、trigger() メソッドを使用してシミュレーション操作を完了できます。たとえば、次のコードを使用して、ID btn のボタンのクリック イベントをトリガーできます。この記事では、JQuery がクリック イベントをシミュレートし、イベントを自動的にトリガーする方法について説明します。
$('#btn').trigger("click");
このようにして、ページが読み込まれると、必要な効果がすぐに出力されます。 click() を直接省略して同じ効果を実現することもできます。
$('#btn').click();
カスタム イベントをトリガーする
trigger() メソッドは、ブラウザーでサポートされている同じ名前でイベントをトリガーするだけでなく、カスタム名でイベントをトリガーすることもできます。たとえば、「myClick」イベントを要素にバインドするための JQuery コードは次のとおりです:
$('#btn').bind("myClick", function(){ $('#test').append("<p>我的自定义事件.</p>"); });
このイベントをトリガーしたい場合は、次のコードを使用してそれを実現できます:
$('#btn').trigger("myClick");
データを渡す
trigger (type[, data]) メソッドには 2 つのメソッド パラメーターがあります。最初のパラメーターはトリガーされるイベント タイプで、2 番目のパラメーターはイベント処理関数に渡される追加データであり、配列の形式で渡されます。通常、コールバック関数にパラメーターを渡すことで、イベントがコードによってトリガーされたのか、ユーザーによってトリガーされたのかを区別できます。
以下はデータを渡す例です。
$(function(){ $('#btn').bind("myClick", function(event, message1, message2){ $('#test').append( "<p>"+message1 + message2 +"</p>"); }); $('#btn').click(function(){ $(this).trigger("myClick",["我的自定义","事件"]); }).trigger("myClick",["我的自定义","事件"]); })
デフォルト操作を実行します
trigger() メソッドがイベントをトリガーした後、ブラウザーのデフォルト操作が実行されます。例:
$("input").trigger("focus");
上記のコードは、 要素にバインドされた focus イベントをトリガーするだけでなく、 要素自体にもフォーカスを取得します (これはブラウザーのデフォルトの操作です)。
ブラウザのデフォルト操作を実行せずに、バインドされたフォーカス イベントのみをトリガーしたい場合は、jQuery の別の同様のメソッドであるtriggerHandler() メソッドを使用できます。
$("input").triggerHandler("focus");
このメソッドは、 要素にバインドされた特定のイベントをトリガーし、同時にこのイベントに対するブラウザーのデフォルトの操作をキャンセルします。つまり、テキスト ボックスはバインドされたフォーカス イベントのみをトリガーし、受信しません。集中。
この記事では、クリックイベントをシミュレートし、イベントを自動的にトリガーするための JQuery を主に紹介します。
関連推奨事項:
js はクリック イベントをシミュレートします実装コード_javascript スキル
JavaScript はクリック イベント (クリック リンクと HTML クリック) をシミュレートします IE/Firefox と互換性があります_javascript スキル
以上がJQuery はクリック イベントをシミュレートし、イベントを自動的にトリガーしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。