Maison interface Web js tutoriel js利用事件的阻止冒泡实现点击空白模态框的隐藏_javascript技巧

js利用事件的阻止冒泡实现点击空白模态框的隐藏_javascript技巧

May 16, 2016 pm 05:02 PM
模态框 Arrête de bouillonner

很多时候,我们做前端的时候都会有这样的小功能,点击弹出某个框框,但是,有时候不想操作,就想点击某个空白处,隐藏该框框。假设如下场景,一个小按钮,点击可以弹出一个模态框。

就这么简单,但是我们想要点击空白部分的时候隐藏模态框,加入按钮id:btn,模态框id:model

也许我们最简单的思路就是直接在document上监听一个事件,伪代码如下:

按钮点击弹出事件监听:

复制代码 代码如下:

$("#btn").bind("click",function(e){
if(e.stopPropagation){//需要阻止冒泡
e.stopPropagation();
}else{
e.cancelBubble = true;
}
})

复制代码 代码如下:

$(document).bind("click",function(e){
if(点击事件不在model上){
隐藏模态框;
}
})

乍一看,这是没有问题的,但是,其实有很多问题,首先,我们得注意阻止冒泡,否则,点击按钮,实际是触发了上面两个事件,modal是弹不出来的,其实是弹出来了,立马又隐藏了,而且,当我们在模态框上还有许多小控件的时候,我们对于模态框中的点击就很难进行判断。

这里,我认为有一种最经典的方法,很简单,但是很巧妙,

首先,对于模态框监听一个事件如下:
复制代码 代码如下:

$("#modal").bind("click", function(event) {
if (event && event.stopPropagation) {
event.stopPropagation();
} else {
event.cancelBubble = true;
}

});

只是简单阻止模态框中的点击事件冒泡,

然后:
复制代码 代码如下:

$(document).one("click", function(e){
var $target = $(e.currentTarget);
if ($target.attr("id") != "modal") {
$("#modal").css("display", "none");
}
});

搞定,so easy
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment empêcher efficacement les événements de bouillonner Comment empêcher efficacement les événements de bouillonner Feb 19, 2024 pm 08:25 PM

Comment empêcher efficacement le bouillonnement d'événements nécessite des exemples de code spécifiques.Le bouillonnement d'événements signifie que lorsqu'un événement sur un élément est déclenché, l'élément parent recevra également le même déclencheur d'événement. Ce mécanisme de livraison d'événements pose parfois des problèmes au développement Web. Nous devons apprendre à empêcher efficacement les événements de se déclencher. En JavaScript, nous pouvons empêcher un événement de se propager en utilisant la méthode stopPropagation() de l'objet événement. Cette méthode peut être appelée dans un gestionnaire d'événements pour empêcher la propagation de l'événement vers l'élément parent.

HTML, CSS et jQuery : créez un magnifique modal HTML, CSS et jQuery : créez un magnifique modal Oct 25, 2023 pm 12:03 PM

HTML, CSS et jQuery : Créez une belle boîte modale Introduction : Les fenêtres contextuelles ou boîtes modales sont souvent utilisées dans les pages Web pour afficher des informations et obtenir des effets interactifs. Cet article expliquera comment utiliser HTML, CSS et jQuery pour créer une belle boîte modale, avec des exemples de code spécifiques. 1. Structure HTML : Tout d’abord, nous devons créer une structure HTML pour accueillir la boîte modale. Le code ressemble à ceci : <!DOCTYPEhtml><html>

Quels événements JS ne sont pas propagés vers le haut ? Quels événements JS ne sont pas propagés vers le haut ? Feb 19, 2024 am 08:17 AM

Quels événements JS ne bouillonneront pas ? En JavaScript, le bouillonnement d'événements signifie que lorsqu'un élément déclenche un événement, l'événement remonte vers les éléments de niveau supérieur jusqu'à ce qu'il bouillonne jusqu'au nœud racine du document. Les gestionnaires d'événements sont ensuite exécutés dans l'ordre dans lequel ils apparaissent. Cependant, tous les événements ne surviennent pas. Certains événements n'exécuteront le gestionnaire d'événements sur l'élément cible qu'après avoir été déclenchés, sans remonter aux éléments de niveau supérieur. Voici quelques événements courants qui ne font pas de bulles : événements de mise au point et de flou :

Comment implémenter des boîtes de dialogue et des boîtes modales dans Vue ? Comment implémenter des boîtes de dialogue et des boîtes modales dans Vue ? Jun 25, 2023 am 09:26 AM

Comment implémenter des boîtes de dialogue et des boîtes modales dans Vue ? Avec le développement et la mise à jour continus de la technologie frontale, le développement des pages frontales est devenu de plus en plus complexe et diversifié. Les boîtes de dialogue et les boîtes modales sont des éléments qui apparaissent souvent dans les pages frontales et peuvent nous aider à obtenir des effets interactifs plus flexibles et plus diversifiés. Dans Vue, il existe de nombreuses façons d'implémenter des boîtes de dialogue et des boîtes modales. Cet article vous présentera plusieurs méthodes d'implémentation courantes. 1. Utilisez les propres composants de Vue. Vue.js fournit certains composants intégrés, tels que transition et tra.

Comment utiliser Vue pour implémenter des effets de boîte modale Comment utiliser Vue pour implémenter des effets de boîte modale Sep 22, 2023 am 10:36 AM

Comment utiliser Vue pour implémenter des effets de boîte modale Avec le développement de la technologie Internet, les boîtes modales (Modal) sont largement utilisées dans la conception Web comme méthode d'interaction courante. Les boîtes modales peuvent être utilisées pour afficher des fenêtres contextuelles, des avertissements, des confirmations et d'autres informations afin d'offrir aux utilisateurs une meilleure expérience interactive. Cet article expliquera comment utiliser le framework Vue pour implémenter un simple effet de boîte modale et fournira des exemples de code spécifiques. Voici les étapes pour implémenter les effets de boîte modale : Créez une instance Vue. Tout d'abord, nous devons introduire le lien Vue CDN dans le fichier HTML et l'ajouter dans Ja.

Maîtrisez les techniques de commandement pour empêcher les événements de bouillonner ! Maîtrisez les techniques de commandement pour empêcher les événements de bouillonner ! Feb 18, 2024 pm 10:31 PM

Maîtrisez les compétences de commandement pour arrêter les événements bouillonnants ! Lorsque nous utilisons des appareils électroniques, nous sommes souvent confrontés à des déclencheurs provenant de divers événements. Certains événements sont comme des bulles, surgissant d’un endroit puis se propageant à d’autres endroits, affectant nos opérations normales. Afin d’éviter la propagation d’événements bouillonnants, nous devons maîtriser certaines compétences de commandement. Cet article présentera quelques techniques de commande courantes pour éviter les événements bouillonnants afin d'aider les lecteurs à mieux gérer ces problèmes. Tout d’abord, comprenons ce qu’est un événement bouillonnant. En programmation informatique, un événement bouillonnant se produit lorsqu'un élément déclenche quelque chose

Comment utiliser JavaScript pour implémenter la fonctionnalité de boîte modale ? Comment utiliser JavaScript pour implémenter la fonctionnalité de boîte modale ? Oct 20, 2023 pm 04:46 PM

Comment implémenter la fonction de boîte modale en utilisant JavaScript ? Dans le développement Web, les boîtes modales sont un composant interactif courant qui peut être utilisé pour afficher des invites, des boîtes de confirmation ou afficher du contenu détaillé. Cet article explique comment utiliser JavaScript pour implémenter une simple boîte modale et donne des exemples de code spécifiques. 1. Structure HTML Tout d'abord, nous devons ajouter la structure de la boîte modale au HTML. Vous pouvez utiliser un élément div comme conteneur de la boîte modale et ajouter la balise au div.

Développement de composants Vue : méthode d'implémentation de composants de boîte modale Développement de composants Vue : méthode d'implémentation de composants de boîte modale Nov 24, 2023 am 08:26 AM

Développement de composants Vue : méthode d'implémentation du composant de boîte modale Dans les applications Web, la boîte modale est un contrôle d'interface utilisateur courant qui peut être utilisé pour afficher certains contenus importants, tels que des informations d'invite, des informations d'avertissement, invitant l'utilisateur à effectuer certaines opérations, etc. Cet article expliquera comment utiliser le framework Vue pour développer un composant de boîte modale simple et fournira des exemples de code pour référence. Structure du composant Nous devons d'abord définir un composant de boîte modale, comprenant la structure HTML, le style et les fonctions logiques. Les composants ont généralement un composant parent transmettant des propriétés aux composants enfants, et les composants enfants transmettent des propriétés basées sur les propriétés.

See all articles