Heim  >  Artikel  >  Web-Frontend  >  Verhindern Sie, dass Ereignisse übersprudeln

Verhindern Sie, dass Ereignisse übersprudeln

巴扎黑
巴扎黑Original
2016-11-25 13:33:52959Durchsuche

JavaScript stoppt das Sprudeln und verhindert das Standardverhalten des Browsers

Ereigniskompatibel

Js-Code

Funktion myfn(e){

var evt = e ? e:window.event;

js hört auf zu sprudeln


Js-Code

function myfn (e){

window.event? window.event.cancelBubble = true : e.stopPropagation();

js verhindert Standard Verhalten


Js-Code

function myfn(e){

window.event? window.event.returnValue = false : e.preventDefault() ; >

}

js, um Blasenbildung zu verhindern:

w3cs Methode ist e.stopPropagation() und IE verwendet e.cancelBubble = true.

stopPropagation ist auch eine Methode des Ereignisobjekts (Event). Ihre Funktion besteht darin, das Blasenereignis des Zielelements zu verhindern, das Standardverhalten wird jedoch nicht verhindert.

js verhindert Standardverhalten:
w3cs Methode ist e.preventDefault(), IE verwendet e.returnValue = false;

preventDefault ist ein Ereignisobjekt (Event) Methode, die Funktion ist um das Standardverhalten eines Zielelements abzubrechen.
Da es sich um ein Standardverhalten handelt, muss das Element natürlich ein Standardverhalten haben, bevor es abgebrochen werden kann. Wenn das Element selbst kein Standardverhalten hat, ist der Aufruf natürlich ungültig.

Welche Elemente haben Standardverhalten? Zum Beispiel Link , Senden-Schaltfläche usw.
Wenn cancelable des Ereignisobjekts „false“ ist, bedeutet dies, dass es kein Standardverhalten gibt. Auch wenn es ein Standardverhalten gibt, funktioniert der Aufruf von „preventDefault“ nicht.

return false:
javascripts return false verhindert nur das Standardverhalten, aber die Verwendung von jQuery verhindert sowohl das Standardverhalten als auch das Sprudeln des Objekts.

Zusammenfassung der Verwendung:
Wenn Sie das Blasenverhalten stoppen müssen, können Sie


Js-Code

Funktion stopBubble(e) {
//Wenn das Ereignisobjekt bereitgestellt wird, handelt es sich um einen Nicht-IE-Browser

if (e && e.stopPropagation)

//Es unterstützt also die W3C stopPropagation() method

e.stopPropagation();

else

//Andernfalls müssen wir den IE verwenden, um das Event-Bubbling abzubrechen

window.event.cancelBubble = true;

}

Wenn Sie das Standardverhalten verhindern müssen, können Sie Folgendes verwenden:

Js-Code


/ /Verhindern Sie die Standardbrowseraktion

function stopDefault(e) {

//Verhindern Sie die Standardbrowseraktion (W3C)

if (e && e.preventDefault )

e.preventDefault();

//So verhindern Sie die Standardaktion einer Funktion im IE

else

window.event.returnValue = false;

return false; Die Position und der Status der Maus, gedrückter Tasten usw.;

Das Ereignisobjekt ist nur während des Ereignisses gültig.

Die Ereignisse in Firefox unterscheiden sich von denen im IE. Die Ereignisse im IE sind globale Variablen und können jederzeit verwendet werden.

Die Ereignisse in Firefox können nur verwendet werden, wenn sie durch Parameter gesteuert werden sind temporäre Variablen zur Laufzeit.

In IE/Opera ist es window.event, in Firefox ist es event

Das Objekt des Ereignisses ist window.event.srcElement in IE,

in Firefox ist es event.target , beide sind in Opera verfügbar.

Die folgenden zwei Sätze haben den gleichen Effekt:


Js-Code

//code von http://caibaojian.com/javascript-stoppropagation-preventdefault. html

function a(e){

var e = (e) ? e : ((window.event) ? window.event : null); = e |. |. window.event ist null unter Firefox, event ist null unter IE