最初は、jQuery の click() イベントを使用して、ハイパーリンクのクリック イベントをトリガーすることを考えました (trigger("click") と同じ効果)。結果は満足のいくものではないことが判明した。
例は次のとおりです:
レンダリング
IE:
FireFox:
< ;h3>「クリックしてください」をクリックしてください。送信ボタンとハイパーリンクもクリックされるかどうかをテストします。
コード トリガー ハイパーリンク
$(function()
{
$("#btn").click(function()
{
$ ("#submit").click();
$("#aLink") .click(); : [送信] ボタンがクリックされたことと、ハイパーリンクが連続してクリックされたことを示すダイアログ ボックスこれは、両方のクリック イベントがトリガーされたことを示します。ただし、アドレス バーから、送信ボタンのクリック イベントがトリガーされた後、デフォルトの動作が実行されることがわかります。ただし、ハイパーリンクのクリック イベントがトリガーされた後は、ターゲットにリンクされません。住所。 (送信ボタンの送信アドレスがハイパーリンクに影響を与えることを疑ってはいけません。送信ボタンを削除してハイパーリンクだけを残すと、ターゲットのアドレスにリンクしなくなります。)
たぶんjQuery の click() メソッド ハイパーリンク上の click イベントによってブラウザのデフォルト動作が実行されることはありません (return true を手動で追加したとしても、役に立ちません)。注: tigger("click") は click() と同じです。 jQuery のドキュメントには、「この関数は、同じ名前のブラウザのデフォルト動作も実行されます。」と記載されています。同じ名前の人?よくわかりませんが、ハイパーリンクはデフォルトの動作を実行できません。これ以外に考えられる唯一の方法は、jQuery によって提供されるイベントを放棄することです。
JavaScript 独自のイベントに戻る - クリックします。コードは次のとおりです。
コードをコピー
コードは次のとおりです。
$("#aLink" ).get(0) .click();
})
});
IE でテストして合格しました。ただし、fireFox では、「click() は関数ではありません」というプロンプトが表示されます。正直に言うと、IE ブラウザは開発者にとって非常に良いものを提供しますが、fireFox には前述の onpropertychange などの機能がありません。ただし、IE 以外のブラウザも考慮する必要があります。インターネットで情報を検索すると、コードを使用して fireFox でイベントをトリガーするには、次の処理が必要であると多くの人が述べています:
コードをコピー
コードは次のとおりです:
上記のメソッドに従って、必要な機能を実現します、コードは次のとおりです:
コードをコピー
コードは次のとおりです: