(タイトルにある) これら 2 つが jQuery で使用されているのを見たことがありますか?簡単な例を次に示します。
$("a") .click(function() {
$("body").append($(this).attr("href"));
return false;
}
そのコードは、リンクがクリックされるたびに本文にテキストとして href 属性を追加しますが、コードの return false 部分により、ブラウザはそのリンクに対してデフォルトのアクションを実行できなくなります。次のように書くことができます:
$("a") .click(function(e) {
$("body").append($(this).attr("href"));
e.preventDefault();
}
それでは、何が違うのでしょうか?
違いは、return false ではさらに処理が進み、そのイベントが DOM に伝播 (または「バブルアップ」) するのを防ぐことです。これは、要素でイベントが発生すると、そのイベントがすべての親要素でもトリガーされるということです。つまり、ボックスの中にボックスがあり、両方のボックスにクリック イベントがあるとします。彼ら。内側のボックスをクリックすると、伝播を防止しない限り、外側のボックスでもクリックがトリガーされます。このように:
演示地址:
http://css-tricks.com/examples/ReturnFalse/
つまり、
function() {
return false;
}
//
function(e) {
e.preventDefault(); と等しいです。
e.stopPropagation();
}
これはおそらくこれよりもはるかに複雑であり、おそらくこのような記事がすべてをよりよく説明しています。
参考:
1.「return false;」の違いおよび 「e.preventDefault();」
2.イベント順序
测试代打包下ダウンロード