Maison  >  Article  >  interface Web  >  Comment implémenter uniquement un événement double-clic dans jQuery ? Comment implémenter un événement de double-clic (explication détaillée)

Comment implémenter uniquement un événement double-clic dans jQuery ? Comment implémenter un événement de double-clic (explication détaillée)

青灯夜游
青灯夜游avant
2018-10-29 16:29:503687parcourir

Le contenu de cet article est de présenter comment jQuery peut uniquement implémenter des événements de double-clic ? Comment implémenter un événement double-clic (explication détaillée). Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. J'espère qu'il vous sera utile.

Dans la liaison d'événement de jQuery, deux événements de clic (click) peuvent être déclenchés lors de l'exécution d'un événement de double-clic (dblclick). Autrement dit, un élément d'étiquette (tel que p, etc.), si l'élément est lié à la fois à un événement de clic (click) et à un événement de double-clic (dblclick), alors lorsque l'événement de clic (click) est exécuté, le L'événement de double-clic (dblclick) ne sera pas déclenché, et l'événement de double-clic ne sera pas déclenché (dblclick) déclenchera deux événements de clic (clic).

Premier coup d'œil à la séquence d'exécution des événements de clic :

Clic (clic) : mousedown, mouseout, click ;

Double-clic (dblclick ; ): mousedown, mouseout, click, mousedown, mouseout, click, dblclick

Dans l'événement double-clic (dblclick), parmi les deux événements clic (click) déclenchés, le premier événement clic (click) sera J'ai été bloqué, mais pas la deuxième fois. C'est-à-dire que l'événement double-clic (dblclick) renverra le résultat d'un événement clic (click) et le résultat d'un événement double-clic (dblclick). Au lieu du résultat d'un événement de double-clic (dblclick) et du résultat de deux événements de clic (clic).

Dans ce cas, éliminez simplement l'événement de clic supplémentaire (clic) et le problème sera résolu.

setTimeout

Ouvrir directement dans $(document).ready(function(){}) de jQuery :

//定义setTimeout执行方法
var TimeFn = null;

$('div').click(function () {
    // 取消上次延时未执行的方法
    clearTimeout(TimeFn);
    //执行延时
    TimeFn = setTimeout(function(){
        //do function在此处写单击事件要执行的代码
    },300);
});

$('div').dblclick(functin () {
     // 取消上次延时未执行的方法
    clearTimeout(TimeFn);
    //双击事件的执行代码
})

De Juger du résultats du test, si le temps entre les deux clics est d'environ 300 ms, il est toujours facile d'appeler les événements click et dblclick "simultanément", et si l'intervalle est plus court ou plus long, seul le clic ou l'événement dblclick se produira.

À ce stade, il peut éviter de déclencher un clic (clic) lors d'un double-clic (dblclick) dans une certaine mesure, réalisant ainsi un événement de double-clic.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer