3

私はjQueryを学んでおり、何が機能するかを明確にしようとしてe.preventDefault()います。私が読んだことから、イベントのデフォルトの動作が妨げられます。

私の場合の例は、新しいページに移動するのではなく、画面にモーダルを表示したいアンカータグがあることです。だから私のjQueryはこのようになります

$(document).ready(function() {
$('#boxShow').click(function(e) {
    e.preventDefault();
    $("#light").fadeIn();
    $('#fade').fadeIn();
});

preventDefault()で別のイベントを実行できますか?

これがばかげた質問である場合は申し訳ありません

4

5 に答える 5

3

簡単です。デフォルトのイベントが発生しないようにします。たとえば、<a>要素は通常、クリックするとリンクを開きます。それをオーバーライドするには、この関数を使用する必要があります。

event頭字語の代わりに使用すると読みやすくなりますe

$('a').click(function(event){
    event.preventDefault();
});
于 2012-10-09T11:11:54.147 に答える
2

アンカー要素を使用すると、「デフォルト イベント」はhref(ハイパーテキスト参照) 値を読み取り、この場所に対する HTTP 要求を形成します。つまり、ユーザーをhref値の URL に誘導します。

したがって、プロパティが HTTP リクエストを呼び出すのpreventDefault()を防ぎ、その下でコードを実行するだけです。hrefつまり、2つのfadeIn()方法です。

于 2012-10-09T11:11:27.753 に答える
1

jqueryサイトから:

このメソッドが呼び出された場合、イベントのデフォルトのアクションはトリガーされません。

したがって、アンカータグの場合、ユーザーを別のURLに移動させることはなく、クリックイベントで必要なことを実行するために開いたままになります。

psそれは愚かな質問ではありません:-)

于 2012-10-09T11:13:28.197 に答える
1

ドキュメントに従って、e.preventDefault();イベントのデフォルト アクションがトリガーされないようにします。

たとえば、アンカー/ハイパーリンクの場合、リンクが指定された場所にリダイレクトされないようにする必要があります。

于 2012-10-09T11:12:23.643 に答える
0

e.preventDefault();アンカー(a)がアンカーに関連付けられた新しいURLを開くのを防ぐ場合、アクションのデフォルトの動作を防ぎます。フォームの場合、フォームの送信ができなくなります。しかしe.preventDefault(); 私はそれをサポートしていないので、IEでは動作しません。あなたは使用する必要がありますe.returnValue = false;

コード:

if(e.preventDefault){
      e.preventDefault();

}
else{
    e.returnValue = false; 
}
于 2012-10-09T11:18:29.623 に答える