Inhaltsverzeichnis
Verhindern Sie das Methode zum Blasen
Standardverhalten verhindern
return false
Zusammenfassung der Verwendung
Ereignis-Aufmerksamkeitspunkte
Heim Web-Frontend js-Tutorial So stoppen Sie das Sprudeln und verhindern das Standardverhalten des Browsers in js

So stoppen Sie das Sprudeln und verhindern das Standardverhalten des Browsers in js

Jun 26, 2017 am 11:45 AM
firefox ie javascript js webkit stoppen Blase 浏览器

 <br>
Nach dem Login kopieren

Ereigniskompatibel

function myfn(e){ var evt = e ? e:window.event; }
Nach dem Login kopieren

js hören auf zu sprudeln

function myfn(e){
window.event? window.event.cancelBubble = true : e.stopPropagation();
}
Nach dem Login kopieren

js verhindern Standardverhalten

function myfn(e){
window.event? window.event.returnValue = false : e.preventDefault();
}
Nach dem Login kopieren

Verhindern Sie das Methode zum Blasen

w3c ist e.stopPropagation(), und IE verwendet e.cancelBubble = true

stopPropagation ist auch eine Methode des Ereignisobjekts (Event). Die Funktion besteht darin, das Blasenereignis des Zielelements zu verhindern, verhindert jedoch nicht das Standardverhalten. Was ist ein sprudelndes Ereignis? Wenn ein „Klick“-Ereignis an eine Schaltfläche gebunden ist, wird das „Klick“-Ereignis wiederum in seinem übergeordneten Element ausgelöst. stopPropagation verhindert, dass Ereignisse vom Zielelement zum übergeordneten Element gelangen. Zum Beispiel: ·

<div id=&#39;div&#39; onclick=&#39;alert("div");&#39;>
<ul onclick=&#39;alert("ul");&#39;>
<li onclick=&#39;alert("li");&#39;>test</li>
</ul>
</div>
Nach dem Login kopieren

Das obige , die Demo sieht wie folgt aus: Wenn wir auf Test, Alert("li"), Alert("ul"), Alert("div") klicken. Wird nacheinander ausgelöst, handelt es sich um ein Ereignis, das sprudelt.

Blasenbildung verhindern

window.event? window.event.cancelBubble = true : e.stopPropagation();
Nach dem Login kopieren

Standardverhalten verhindern

Die w3c-Methode ist e.preventDefault(), IE verwendet e.returnValue = false;

preventDefault, eine Methode des Ereignisobjekts (Event), deren Funktion darin besteht, 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.

Wir alle wissen, dass die Standardaktion von Link darin besteht, zur angegebenen Seite zu springen:

//假定有链接<a href="http://caibaojian.com/" id="testA" >caibaojian.com</a>
var a = document.getElementById("testA");
a.onclick =function(e){
if(e.preventDefault){
e.preventDefault();
}else{
window.event.returnValue == false;
}
}
Nach dem Login kopieren


return false

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

Im Folgenden wird natives js verwendet, das nur das Standardverhalten verhindert und nicht aufhört zu sprudeln

<div id=&#39;div&#39;  onclick=&#39;alert("div");&#39;>
<ul  onclick=&#39;alert("ul");&#39;>
<li id=&#39;ul-a&#39; onclick=&#39;alert("li");&#39;><a href="http://caibaojian.com/"id="testB">caibaojian.com</a></li>
</ul>
</div>
var a = document.getElementById("testB");
a.onclick = function(){
return false;
};
Nach dem Login kopieren


Das Folgende ist eine Demonstration mit jQuery, um sowohl das Standardverhalten zu verhindern als auch das Sprudeln zu stoppen

//code from 
<div id=&#39;div&#39;  onclick=&#39;alert("div");&#39;>
<ul  onclick=&#39;alert("ul");&#39;>
<li id=&#39;ul-a&#39; onclick=&#39;alert("li");&#39;><a href="http://caibaojian.com/"id="testC">caibaojian.com</a></li>
</ul>
</div>
$("#testC").on('click',function(){
return false;
});
Nach dem Login kopieren

: Stoppen Sie das Sprudeln und verhindern Sie das Standardverhalten

Zusammenfassung der Verwendung

Wenn Sie das Blasenverhalten stoppen müssen, können Sie dies tun verwenden

function stopBubble(e) { 
//如果提供了事件对象,则这是一个非IE浏览器 
if ( e && e.stopPropagation ) 
    //因此它支持W3C的stopPropagation()方法 
    e.stopPropagation(); 
else 
    //否则,我们需要使用IE的方式来取消事件冒泡 
    window.event.cancelBubble = true; 
}
Nach dem Login kopieren

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

//阻止浏览器的默认行为 
function stopDefault( e ) { 
    //阻止默认浏览器动作(W3C) 
    if ( e && e.preventDefault ) 
        e.preventDefault(); 
    //IE中阻止函数器默认动作的方式 
    else 
        window.event.returnValue = false; 
    return false; 
}
Nach dem Login kopieren

Ereignis-Aufmerksamkeitspunkte

  1. Ereignis stellt den Status dar des Ereignisses, wie z. B. das Auslösen der Elemente des Ereignisobjekts, Mausposition und -status, gedrückte Tasten usw.;

  2. 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 im Firefox können nur durch Parameterführung verwendet werden. und sind zur Laufzeit temporäre Variablen. <br/> Im IE/Opera ist es window.event, in Firefox ist es event und das Objekt des Ereignisses ist window.event.srcElement im IE, in Firefox ist es event.target, beide sind in Opera verfügbar.

  1. Die folgenden zwei Sätze haben die gleiche Wirkung:

function a(e){
var e = (e) ? e : ((window.event) ? window.event : null); 
var e = e || window.event; // firefox下window.event为null, IE下event为null
}
Nach dem Login kopieren

 <br/>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo stoppen Sie das Sprudeln und verhindern das Standardverhalten des Browsers in js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Wie zeige ich die lokal installierte 'Jingnan Mai Round Body' auf der Webseite richtig? Wie zeige ich die lokal installierte 'Jingnan Mai Round Body' auf der Webseite richtig? Apr 05, 2025 pm 10:33 PM

Mit lokal installierten Schriftdateien auf Webseiten kürzlich habe ich eine kostenlose Schriftart aus dem Internet heruntergeladen und sie erfolgreich in mein System installiert. Jetzt...

Wie steuern Sie die obere und das Ende der Seiten in den Browser -Druckeinstellungen über JavaScript oder CSS? Wie steuern Sie die obere und das Ende der Seiten in den Browser -Druckeinstellungen über JavaScript oder CSS? Apr 05, 2025 pm 10:39 PM

So verwenden Sie JavaScript oder CSS, um die obere und das Ende der Seite in den Druckeinstellungen des Browsers zu steuern. In den Druckeinstellungen des Browsers gibt es eine Option, um zu steuern, ob das Display ist ...

Warum wirkt sich negative Margen in einigen Fällen nicht wirksam? Wie löst ich dieses Problem? Warum wirkt sich negative Margen in einigen Fällen nicht wirksam? Wie löst ich dieses Problem? Apr 05, 2025 pm 10:18 PM

Warum werden negative Margen in einigen Fällen nicht wirksam? Während der Programmierung negative Margen in CSS (negativ ...

Wie verwende ich lokal installierte Schriftdateien auf Webseiten? Wie verwende ich lokal installierte Schriftdateien auf Webseiten? Apr 05, 2025 pm 10:57 PM

So verwenden Sie lokal installierte Schriftartdateien auf Webseiten. Wenn Sie diese Situation in der Webseitenentwicklung gestoßen haben: Sie haben eine Schriftart auf Ihrem Computer installiert ...

Der Text unter Flex -Layout wird weggelassen, aber der Behälter wird geöffnet? Wie löst ich es? Der Text unter Flex -Layout wird weggelassen, aber der Behälter wird geöffnet? Wie löst ich es? Apr 05, 2025 pm 11:00 PM

Das Problem der Containeröffnung aufgrund einer übermäßigen Auslassung von Text unter Flex -Layout und Lösungen werden verwendet ...

Wie kann man horizontaler Bildlaufeffekt horizontaler Optionen durch Drehen von Elementen in CSS erreichen? Wie kann man horizontaler Bildlaufeffekt horizontaler Optionen durch Drehen von Elementen in CSS erreichen? Apr 05, 2025 pm 10:51 PM

Wie kann man den horizontalen Scrolling -Effekt von horizontalen Optionen in CSS erreichen? Im modernen Webdesign, wie man einen horizontalen tabellartigen Effekt erzielt und die Maus unterstützt ...

Wie löst ich das Höhenproblem, indem Sie die REM -Einheit in adaptivem Design einstellen? Wie löst ich das Höhenproblem, indem Sie die REM -Einheit in adaptivem Design einstellen? Apr 05, 2025 pm 11:03 PM

Wie löst ich das Problem der Höhenanpassung im adaptiven Design? Bei adaptivem Design ist die Höhenanpassung häufig ein schwieriges Problem. Besonders im Umgang mit ähnlichen ...

See all articles