ホームページ >ウェブフロントエンド >jsチュートリアル >イベントの急増を防ぐ
JavaScript はバブリングを停止し、ブラウザのデフォルト動作をブロックします
イベント互換
js stop Bubble
Window.event? Window.event.returnValue = false: e.preventDefault () ); IE は e.cancelBubble = true を使用します。
stopPropagation もイベント オブジェクト (Event) のメソッドであり、その機能はターゲット要素のバブリング イベントを防止することですが、デフォルトの動作は防止されません。
js はデフォルトの動作を防止します:
w3c のメソッドは e.preventDefault()、IE は e.returnValue = false を使用します。 preventDefault はイベント オブジェクト (Event) のメソッドであり、その機能はターゲットのデフォルトをキャンセルすることです。要素の動作。デフォルトの動作について話しているので、要素自体がデフォルトの動作を持っていない場合、当然、その要素はキャンセルする前にデフォルトの動作を持っている必要があります。
どの要素にデフォルトの動作がありますか?リンク 、送信ボタン など。
イベント オブジェクトの cancelable が false の場合、デフォルトの動作がないことを意味します。デフォルトの動作があっても、preventDefault の呼び出しは機能しません。
return false:
javascript の return false はデフォルトの動作を防止するだけですが、jQuery を使用するとデフォルトの動作を防止し、オブジェクトのバブリングも防止します。
使用法の概要:
バブリング動作を停止する必要がある場合は、
Jsコードを使用できます
function stopBubble(e) {
//イベントオブジェクトが提供されている場合、これは非IEブラウザです
if (e && e.stopPropagation)
//W3C の stopPropagation() メソッドをサポートします
e.stopPropagation();
else
window.event.cancelBubble = true; } デフォルトの動作を防ぐ必要がある場合は、次を使用できます:
Js コード
//ブラウザのデフォルトの動作をブロックします
function stopDefault(ee){
//デフォルトのブラウザーアクションを防ぐ (W3C)
if (e && e.preventDefault)
e.preventDefault();
//IE の関数のデフォルトアクションを防ぐ方法
イベントオブジェクトはイベント中にのみ有効です。
Firefox のイベントは IE のイベントとは異なります。IE のイベントはグローバル変数でいつでも使用できます。
Firefox のイベントはパラメーターによってガイドされる場合にのみ使用でき、実行時の一時変数です。IE/Opera では window.event、Firefox ではevent です。
イベントのオブジェクトは IE では window.event.srcElement であり、
Firefox ではevent.target であり、どちらも Opera で使用できます。 次の 2 つの文は同じ効果があります:
Js code
//code from http://caibaojian.com/javascript-stoppropagation-preventdefault.html
function a(e){
var e = (e) ? e : ((window.event) ? window.event : null);
var e = e || window.event は Firefox では null、event は IE では null です。