Téléchargez d'abord le code:
La copie de code est la suivante:
<adal>
<Title> </Title>
<script src = "scripts / jquery-1.4.1.js" type = "text / javascript"> </ script>
<script type = "text / javascript" linguistique = "javascript">
$ (function () {
$ ("div"). bind ("click.a", fonction () {// cliquez sur l'événement
$ ("body"). Ajouter ("<p> cliquez sur l'événement </p>");
})
$ ("div"). bind ("dblclick.a", function () {// Double-cliquez l'événement
$ ("Body"). APPEND ("<p> dblclick Event </p>");
})
$ ("div"). bind ("muouseOver.a", fonction () {// événements de la souris passant par l'élément
$ ("Body"). Ajouter ("<p> Mouseover Event </p>");
})
$ ("div"). bind ("mouseout.a", function () {// événements de l'élément de déménagement de la souris
$ ("Body"). APPEND ("<p> Mouseout Event </p>");
})
})
</cript>
</ head>
<body>
<div> jQuery Namespace </div>
</docy>
L'effet est montré dans la figure. Aussi, si je ne veux pas le déclencher en double-cliquant
Comment résoudre le problème si vous cliquez sur l'événement et déclenchez simplement l'événement à double clic? J'ai également essayé de délier l'événement de clic lors du double-clic.
Mais de cette façon, l'événement de clic n'est plus utile. . .
Plus tard, j'ai demandé à quelqu'un sur le forum et j'ai finalement obtenu la réponse. C'est-à-dire utiliser la méthode setTimeout () pour définir l'intervalle de temps de l'événement de clic.
Réglé sur 300 ms, donc lors du double-clic, car l'intervalle de temps de double clic est inférieur à 300 ms, l'événement de clic ne sera pas généré, mais ne sera généré que.
Événement DBLClick. Dans l'événement à double clic, vous devez utiliser la fonction ClearTimeout () pour effacer le traitement de l'événement de clic. Le code est le suivant:
La copie de code est la suivante:
<script type = "text / javascript" linguistique = "javascript">
$ (function () {
var timer = null;
$ ("div"). bind ("click.a", fonction () {// cliquez sur l'événement
ClearTimeout (temporisateur);
timer = setTimeOut (function () {// ajouter une fonction setTimeout () dans l'événement cliquez pour définir l'intervalle de temps déclenché par l'événement de clic
$ ("body"). Ajouter ("<p> cliquez sur l'événement </p>");
}, 300);
})
$ ("div"). bind ("dblclick.a", function () {// Double-cliquez l'événement
ClearTimeout (Timer);
$ ("Body"). APPEND ("<p> dblclick Event </p>");
})
$ ("div"). bind ("muouseOver.a", fonction () {// événements de la souris passant par l'élément
$ ("Body"). Ajouter ("<p> Mouseover Event </p>");
})
$ ("div"). bind ("mouseout.a", function () {// événements de l'élément de déménagement de la souris
$ ("Body"). Ajouter ("<p> Mouseout Event </p>");
})
})
</cript>
De cette façon, ce problème sera résolu!