La solution au problème de jquery qui ne fonctionne pas : ouvrez d'abord le fichier de code qui ne fonctionne pas ; puis modifiez le code jquery en "$(document).not('#date').click(function(){. ..}".
L'environnement d'exploitation de ce tutoriel : ordinateur Dell G3, système Windows 7, version HTML5&&CSS3&&jquery2.0.0.
Recommandé : "Tutoriel vidéo CSS" "Tutoriel de base javascript"
Solution à l'échec de la méthode not en jquery
Filtrer les éléments Lorsque vous souhaitez supprimer un élément directement de $(document), l'utilisation de $(document).not('#a') n'est pas valide
Mais vous pouvez utiliser d'autres méthodes pour résoudre ce type de problème. problème. Par exemple
Lors de la simulation d'une liste déroulante, l'effet que vous souhaitez obtenir est de cliquer sur le div, la liste cachée apparaît, de cliquer n'importe où et la liste déroulante disparaît
<div id="date">选择日期</div> <div id="content" style="display:none;"> <ul> <li>2月1日</li> </ul> </div>
A ce moment, écrivez directement
$("#date").click(function(){ $("#content").slideDown(); }); $(document).click(function(){ $("#content").slideUp(); });
Lorsque vous cliquez sur un div, la liste déroulante apparaît d'abord puis disparaît
La première chose à laquelle la plupart des gens pensent pour résoudre ce problème est de supprimez l'élément lors de la définition de l'événement click du document. #date, c'est-à-dire
$(document).not(‘#date’).click(function(){ $("#content").slideUp(); });
Mais not() ne prend pas effet ici
À ce stade, vous devez changer votre façon de penser
🎜>
La hauteur du contenu change au moment où vous cliquez sur la date est de 1px, l'affichage devient bloc, donc$(document).not(‘#date’).click(function(){ if($("#content").css('display') == 'block' && $("#content").css('height') != '1px'){ $("#content").slideUp(); } });
Tutoriel de programmation !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!