Heim Web-Frontend js-Tutorial Spezifische Implementierung von js, die das Anhängen von Javascript-Ereignissen verhindert

Spezifische Implementierung von js, die das Anhängen von Javascript-Ereignissen verhindert

May 16, 2016 pm 04:34 PM

Manchmal können Sie e.stopPropagation(); e.preventDefault(); verwenden, um das Sprudeln von Ereignissen und die Ausführung von Standardereignissen zu verhindern. Es kann jedoch nicht verhindern, dass das Ereignis hinzugefügt wird.

Unter welchen Umständen sollten wir das Hinzufügen von Ereignissen verhindern?

Zum Beispiel:

Klicken Sie dabei auf „Zur Kasse gehen“. Der Checkout selbst hat sein eigenes Ereignis, aber Sie müssen festlegen, ob Sie sich vor dem Checkout anmelden möchten.

Wir könnten schreiben:

Js-Code

Code kopieren Der Code lautet wie folgt:

if(isLogin){ //Bestimmen Sie, ob Sie sich anmelden möchten
console.log("Nicht angemeldet")
}else{
//Checkout-bezogener Code
}

Wenn Sie auf „Meine Homepage“ klicken, erfolgt auch eine Login-Prüfung
Login-Beurteilungscode

if(isLogin){ //Bestimmen Sie, ob Sie sich anmelden möchten
console.log("Nicht angemeldet")
}else{
//Persönliches Zentrum
}


Ob es weitere Anmeldungen gibt, ist zu beurteilen. Wird es mehr Code wie den oben genannten geben? Später entdeckte ich die Methode stopImmediatePropagation(), um das Anhängen von Ereignissen zu verhindern. Das obige Problem ist kein Problem mehr.

Wichtig: Stellen Sie sicher, dass das Login-Beurteilungsereignis das erste gebundene Ereignis ist.

Democode

Code kopieren Der Code lautet wie folgt:

<!DOCTYPE html> <html> <head lang="de"> <meta charset="UTF-8"> <title>demo</title> <script src="http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"></script> </head> <Körper>
<a href="#" class="bill isLogin">Zur Kasse </a>

<ul> <li class="a1 isLogin">Zu Favoriten hinzufügen</li> <li class="a2 isLogin">Bezahlen durch andere</li> <li class="a3">In den Warenkorb legen</li> <li class="a4 isLogin">Meine Homepage</li> </ul>
<script> //Zuerst binden
$(".isLogin").on("click", function (e) {

if(true){ //Login-Urteil
Alert("Nicht angemeldet");
e.stopImmediatePropagation();
}

return false;
});

$(".bill").on("click",function(){
warning("Zur Kasse gehender Inhalt!");
});

$(".a1").on("click",function(){
alarm("a1");
});

$(".a2").on("click",function(){
alarm("a2");
});

$(".a3").on("click",function(){
Alert("Zum Warenkorb hinzugefügt");
});

$(".a4").on("click",function(){
Alert("Login-Ermittlung");
});


</script> </body> </html>

Tatsächlich stellt uns jquery die Methode $._data($('.isLogin').get(0)) zur Verfügung, mit der wir Ereignisse anzeigen, Firebug öffnen und in die Konsole eingeben können.
Js-Code

$._data($('.isLogin').get(0))

Sie werden Folgendes sehen:

Js-Code

Object { events={...}, handle=function()}

Klicken Sie, um das Ereignisarray anzuzeigen, sodass Sie leicht erkennen können, welche Ereignisse an das Element gebunden sind.
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 Artikel -Tags

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)

Ersetzen Sie Stringzeichen in JavaScript Ersetzen Sie Stringzeichen in JavaScript Mar 11, 2025 am 12:07 AM

Ersetzen Sie Stringzeichen in JavaScript

Benutzerdefinierte Google -Search -API -Setup -Tutorial Benutzerdefinierte Google -Search -API -Setup -Tutorial Mar 04, 2025 am 01:06 AM

Benutzerdefinierte Google -Search -API -Setup -Tutorial

Beispielfarben JSON -Datei Beispielfarben JSON -Datei Mar 03, 2025 am 12:35 AM

Beispielfarben JSON -Datei

8 atemberaubende JQuery -Seiten -Layout -Plugins 8 atemberaubende JQuery -Seiten -Layout -Plugins Mar 06, 2025 am 12:48 AM

8 atemberaubende JQuery -Seiten -Layout -Plugins

Erstellen Sie Ihre eigenen AJAX -Webanwendungen Erstellen Sie Ihre eigenen AJAX -Webanwendungen Mar 09, 2025 am 12:11 AM

Erstellen Sie Ihre eigenen AJAX -Webanwendungen

Was ist ' this ' in JavaScript? Was ist ' this ' in JavaScript? Mar 04, 2025 am 01:15 AM

Was ist ' this ' in JavaScript?

Verbessern Sie Ihr JQuery -Wissen mit dem Quell Betrachter Verbessern Sie Ihr JQuery -Wissen mit dem Quell Betrachter Mar 05, 2025 am 12:54 AM

Verbessern Sie Ihr JQuery -Wissen mit dem Quell Betrachter

10 Mobile Cheat Sheets für die mobile Entwicklung 10 Mobile Cheat Sheets für die mobile Entwicklung Mar 05, 2025 am 12:43 AM

10 Mobile Cheat Sheets für die mobile Entwicklung

See all articles