Parfois, vous pouvez utiliser e.stoppropagation (); E.PreventDefault (); Pour empêcher les événements de bouillonner et l'exécution des événements par défaut. Mais l'ajout d'événements ne peut pas être empêché.
Dans quelles circonstances devrions-nous empêcher l'ajout d'événements?
Par exemple:
Cliquez sur "Découvrez". Lorsque vous exploitez cela, le paiement lui-même a ses propres événements, mais vous devez déterminer s'il faut vous connecter avant de vérifier.
Nous pourrions écrire ceci:
Code JS
La copie de code est la suivante:
if (islogin) {// juger de la connexion
console.log ("pas de connexion")
}autre{
// Code connexe
}
Si vous cliquez sur "ma page d'accueil", vous aurez également un jugement de connexion
Code de jugement de connexion
if (islogin) {// juger de la connexion
console.log ("pas de connexion")
}autre{
// centre personnel
}
S'il y a plus de jugements de connexion. Y aura-t-il plus de codes comme ceux ci-dessus? Plus tard, j'ai découvert que la méthode StopImMMediatEpropagation () empêche l'apprentissage des événements. La question ci-dessus n'est pas un problème.
Important: assurez-vous que la connexion détermine que l'événement est le premier événement lié.
Code de démonstration
La copie de code est la suivante:
<! Doctype html>
<html>
<head lang = "en">
<meta charset = "utf-8">
<Title> Demo </Title>
<script src = "http://lib.sinaapp.com/js/jquery/1.7.2/jquery.min.js"> </ script>
</ head>
<body>
<a href = "#"> Checkout </a>
<ul>
<li> Ajouter aux favoris </li>
<li> D'autres paient </li>
<li> Ajouter pour acheter une voiture </li>
<li> ma page d'accueil </li>
</ul>
<cript>
// lier d'abord
$ (". Islogin"). sur ("cliquez", fonction (e) {
if (true) {// Jugement de connexion
alert ("pas de connexion");
E.StopimMediatEpropagation ();
}
retourne false;
});
$ (". Bill"). sur ("cliquez", fonction () {
alert ("Contenu lié à la caisse!");
});
$ (". a1"). sur ("cliquez", fonction () {
alerte ("a1");
});
$ (". A2"). sur ("cliquez", fonction () {
alerte ("a2");
});
$ (". A3"). sur ("cliquez", fonction () {
alerte ("ajouté au panier");
});
$ (". A4"). sur ("cliquez", fonction () {
alerte ("il y a un jugement de connexion");
});
</cript>
</docy>
</html>
En fait, jQuery nous fournit une méthode pour afficher les événements $ ._ data ($ ('. Islogin'). Get (0)), ouvrir Firebug et l'entrer dans la console.
Code JS
$ ._ data ($ ('. Islogin'). get (0))
Vous verrez ce qui suit:
Code JS
Objet {events = {...}, handle = function ()}
Cliquez pour voir le tableau d'événements pour faciliter la visualisation du type d'événements lié à l'élément.